Skip to content

security: add settings reference #22534

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2ac5e6a
add settings reference
sarahsanders-docker May 1, 2025
f8e5a1d
add format tables
sarahsanders-docker May 1, 2025
ff6e218
Merge pull request #22512 from mat007/cve-2025-3911
mat007 Apr 30, 2025
7314d33
MR-link-fix (#22524)
aevesdocker Apr 30, 2025
219877f
Add CVE-2025-4095 to release notes of Docker Desktop 4.41 (#22521)
bsousaa Apr 30, 2025
ebbeeab
Merge pull request #22529 from gabolaev/4.41.1
gabolaev Apr 30, 2025
b375807
billing: pay by ach transfer (#22473)
sarahsanders-docker Apr 30, 2025
5a00328
Merge pull request #22528 from duffuniverse/fix-typos-in-build-depend…
duffuniverse May 1, 2025
e2f8dee
Fix typos in the "Pre-defined environment variables in Compose" manua…
duffuniverse May 1, 2025
d300624
Update oci-artifact.md (#22489)
edu-diaz May 1, 2025
21ac278
edits to some headings x 2 (#22563)
genwhittTTD May 4, 2025
a391888
ENGDOCS-2593 (#22523)
aevesdocker May 5, 2025
8593b9a
docs(ci): clarify credentials setup for DBC CI/CD (#22587)
nico1510 May 5, 2025
178942c
fix a broken link
usha-mandya May 6, 2025
724acd4
Fix typos in the Resource constraints manual (#22594)
duffuniverse May 6, 2025
0e77409
add another iptables rule to allow dns queries from container
fliespl Jan 1, 2025
a7fa0f4
4.41.2 release notes
gabolaev May 6, 2025
e619039
add build number
gabolaev May 6, 2025
525edfa
Merge pull request #22553 from duffuniverse/fix-typos-in-use-compose-…
duffuniverse May 7, 2025
f3126d8
security: domain management (#22477)
sarahsanders-docker May 7, 2025
c4aa3a4
Update model-runner.md: replace hyphens (#22603)
lionello May 8, 2025
1de631c
release-notes for Compose v2.36.0 version (#22600)
glours May 8, 2025
3097d41
add how-to page explaining usage of Compose provider services (#22586)
glours May 8, 2025
7d7b3e9
Update warning about ports published to 127.0.0.1
robmry May 1, 2025
874c417
Update text about direct routing
robmry May 7, 2025
e0acf49
ENGDOCS-2595 (#22530)
aevesdocker May 8, 2025
44facb8
Expand documentation on the KubernetesImagesRepository setting. (#22589)
ctalledo May 8, 2025
42e0513
Merge pull request #22610 from mattl/patch-1
mattl May 9, 2025
b69af30
improvements
sarahsanders-docker May 9, 2025
c79d205
typos
sarahsanders-docker May 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions _vale/Docker/Acronyms.yml
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@ first: '\b([A-Z]{2,5})\b'
second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{2,5})s?\)'
# ... with the exception of these:
exceptions:
- ACH
- AGPL
- AI
- API

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions _vendor/modules.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# github.com/moby/moby v28.1.0-rc.2+incompatible
# github.com/moby/buildkit v0.21.0
# github.com/moby/buildkit v0.21.1
# github.com/docker/buildx v0.23.0
# github.com/docker/cli v28.1.0+incompatible
# github.com/docker/compose/v2 v2.35.1
# github.com/docker/cli v28.1.1+incompatible
# github.com/docker/compose/v2 v2.36.0
# github.com/docker/scout-cli v1.15.0
Original file line number Diff line number Diff line change
@@ -84,7 +84,7 @@ This container runs a web server that displays a simple website. When working wi

When you launched the container, you exposed one of the container's ports onto your machine. Think of this as creating configuration to let you to connect through the isolated environment of the container.

For this container, the frontend is accessible on port `8080`. To open the website, select the link in the **Port(s)** column of your container or visit [http://localhost:8080](https://localhost:8080) in your browser.
For this container, the frontend is accessible on port `8080`. To open the website, select the link in the **Port(s)** column of your container or visit [http://localhost:8080](http://localhost:8080) in your browser.

![Screenshot of the landing page coming from the running container](images/access-the-frontend.webp?border)

43 changes: 43 additions & 0 deletions content/manuals/ai/mcp-catalog-and-toolkit/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: Docker MCP Catalog and Toolkit
linkTitle: MCP Catalog and Toolkit
params:
sidebar:
group: AI
badge:
color: green
text: New
weight: 30
description: Learn about Docker's MCP catalog on Docker Hub and how to use it with the MCP Toolkit extension
keywords: Docker, ai, mcp servers, ai agents, extension, docker desktop, llm, docker hub

Check failure on line 12 in content/manuals/ai/mcp-catalog-and-toolkit/_index.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'mcp'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'mcp'?", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/_index.md", "range": {"start": {"line": 12, "column": 23}}}, "severity": "ERROR"}

Check failure on line 12 in content/manuals/ai/mcp-catalog-and-toolkit/_index.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Docker Desktop' instead of 'docker desktop'. Raw Output: {"message": "[Vale.Terms] Use 'Docker Desktop' instead of 'docker desktop'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/_index.md", "range": {"start": {"line": 12, "column": 58}}}, "severity": "ERROR"}

Check failure on line 12 in content/manuals/ai/mcp-catalog-and-toolkit/_index.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'llm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'llm'?", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/_index.md", "range": {"start": {"line": 12, "column": 74}}}, "severity": "ERROR"}

Check failure on line 12 in content/manuals/ai/mcp-catalog-and-toolkit/_index.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Docker Hub' instead of 'docker hub'. Raw Output: {"message": "[Vale.Terms] Use 'Docker Hub' instead of 'docker hub'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/_index.md", "range": {"start": {"line": 12, "column": 79}}}, "severity": "ERROR"}
grid:
- title: MCP Catalog
description: Learn about the benefits of the MCP Catalog, how you can use it, and how you can contribute
icon: hub
link: /ai/mcp-catalog-and-toolkit/catalog/
- title: MCP Toolkit
description: Learn about how to use the MCP Toolkit extension on Docker Desktop
icon: manufacturing
link: /ai/mcp-catalog-and-toolkit/toolkit/
---

The Model Context Protocol (MCP) is a modern standard that transforms AI agents from passive responders into action-oriented systems. By standardizing how tools are described, discovered, and invoked, MCP enables agents to securely query APIs, access data, and execute services across diverse environments.

As agents move into production, MCP solves common integration challenges — interoperability, reliability, and security — by providing a consistent, decoupled, and scalable interface between agents and tools. Just as containers redefined software deployment, MCP is reshaping how AI systems interact with the world.

## What is Docker MCP Catalog and Toolkit?

Docker MCP Catalog and Toolkit is a comprehensive solution for securely building, sharing, and running MCP tools. It simplifies the developer experience across four key areas:

- Discovery: A central catalog with verified, versioned tools
- Credential Management: OAuth-based and secure by default
- Execution: Tools run in isolated, containerized environments
- Portability: Use MCP tools across Claude, Cursor, VS Code, and more — no code changes needed

Check warning on line 35 in content/manuals/ai/mcp-catalog-and-toolkit/_index.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'versus' instead of 'VS' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'versus' instead of 'VS'", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/_index.md", "range": {"start": {"line": 35, "column": 53}}}, "severity": "INFO"}

Check warning on line 35 in content/manuals/ai/mcp-catalog-and-toolkit/_index.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'VS' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'VS' has no definition.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/_index.md", "range": {"start": {"line": 35, "column": 53}}}, "severity": "WARNING"}

With Docker Hub and the Docker Desktop extension, you can:

- Launch MCP servers in seconds
- Add tools via CLI or GUI
- Rely on Docker’s pull-based infrastructure for trusted delivery

{{< grid >}}
94 changes: 94 additions & 0 deletions content/manuals/ai/mcp-catalog-and-toolkit/catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
title: Docker MCP Catalog
description: Learn about the benefits of the MCP Catalog, how you can use it, and how you can contribute
keywords: docker hub, mcp, mcp servers, ai agents, calatog, docker

Check failure on line 4 in content/manuals/ai/mcp-catalog-and-toolkit/catalog.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Docker Hub' instead of 'docker hub'. Raw Output: {"message": "[Vale.Terms] Use 'Docker Hub' instead of 'docker hub'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/catalog.md", "range": {"start": {"line": 4, "column": 11}}}, "severity": "ERROR"}

Check failure on line 4 in content/manuals/ai/mcp-catalog-and-toolkit/catalog.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'mcp'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'mcp'?", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/catalog.md", "range": {"start": {"line": 4, "column": 23}}}, "severity": "ERROR"}

Check failure on line 4 in content/manuals/ai/mcp-catalog-and-toolkit/catalog.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'mcp'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'mcp'?", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/catalog.md", "range": {"start": {"line": 4, "column": 28}}}, "severity": "ERROR"}

Check failure on line 4 in content/manuals/ai/mcp-catalog-and-toolkit/catalog.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'calatog'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'calatog'?", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/catalog.md", "range": {"start": {"line": 4, "column": 52}}}, "severity": "ERROR"}
---

The [Docker MCP Catalog](https://hub.docker.com/catalogs/mcp) is a centralized, trusted registry for discovering, sharing, and running MCP-compatible tools. Seamlessly integrated into Docker Hub, it offers verified, versioned, and curated MCP servers packaged as Docker images.

The catalog also solves common MCP server challenges:

- Environment conflicts: Tools often need specific runtimes that may clash with existing setups.
- Lack of isolation: Traditional setups risk exposing the host system.
- Setup complexity: Manual installation and configuration result in slow adoption.
- Inconsistency across platforms: Tools may behave unpredictably on different OSes.

With Docker, each MCP server runs as a self-contained container so it is portable, isolated, and consistent. You can launch tools instantly using Docker CLI or Docker Desktop, without worrying about dependencies or compatibility.

## Key features

- Over 100 verified MCP servers in one place
- Publisher verification and versioned releases
- Pull-based distribution using Docker’s infrastructure
- Tools provided by partners such as New Relic, Stripe, Grafana, and more

## How it works

Each tool in the MCP Catalog is packaged as a Docker image with metadata. Developers can:

- Discover tools via Docker Hub under the mcp/ namespace.
- Connect tools to their preferred agents with simple configuration through the [MCP Toolkit](toolkit.md)
- Pull and run tools using Docker Desktop or the CLI.

Each catalog entry provides:

- Tool description and metadata
- Version history
- Example configuration for agent integration

## Example: How to use an MCP server from Docker Hub

Check warning on line 39 in content/manuals/ai/mcp-catalog-and-toolkit/catalog.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.HeadingLength] Try to keep headings short (< 8 words). Raw Output: {"message": "[Docker.HeadingLength] Try to keep headings short (\u003c 8 words).", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/catalog.md", "range": {"start": {"line": 39, "column": 4}}}, "severity": "INFO"}

The following example uses the Puppeteer MCP server to take a screenshot of a website and invert the colors using Claude Desktop.

{{< tabs >}}
{{< tab name="Using the MCP Toolkit (Recommended)" >}}

1. Make sure you have [installed the Docker Desktop Docker MCP Toolkit extension](toolkit.md).
2. From the extension, search for the Puppeteer MCP server in the **MCP Servers** tab, and toggle it on to enable.
3. From the **MCP Clients** tab, select the **Connect** button for Claude Desktop.
4. Within Claude Desktop, submit the following prompt using the Sonnet 3.5 model:

```text
Take a screenshot of docs.docker.com and then invert the colors
```

{{< /tab >}}
{{< tab name="Manually set it up" >}}

1. Update the `claude_desktop_config.json` file to include the following configuration:

```json
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DOCKER_CONTAINER",
"mcp/puppeteer"
],
"env": {
"DOCKER_CONTAINER": "true"
}
}
}
}
```
2. Restart Claude Desktop to apply the changed config file.
3. Submit the following prompt using the Sonnet 3.5 model:

```text
Take a screenshot of docs.docker.com and then invert the colors
```

Once you've given your consent to use the new tools, Claude spins up the Puppeteer MCP server inside a container, navigates to the target URL, captures and modify the page, and returns the screenshot.

{{< /tab >}}
{{< /tabs >}}

## Contribute an MCP server to the catalog

If you would like to add you MCP server to the Docker MCP Catalog, fill out the Docker [MCP submission form](https://www.docker.com/products/mcp-catalog-and-toolkit/#get_updates).
53 changes: 53 additions & 0 deletions content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: MCP Toolkit
description:
keywords:
---

The Docker MCP Toolkit is a Docker Desktop extension local that enables seamless setup, management, and execution of containerized MCP servers and their connections to AI agents. It removes the friction from tool usage by offering secure defaults, one-click setup, and support for a growing ecosystem of LLM-based clients. It is the fastest path from MCP tool discovery to local execution.

Check warning on line 7 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.RecommendedWords] Consider using 'select' instead of 'click' Raw Output: {"message": "[Docker.RecommendedWords] Consider using 'select' instead of 'click'", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 7, "column": 253}}}, "severity": "INFO"}

## Key features

- Cross-LLM compatibility: Works out of the box with Claude Desktop, Cursor, Continue.dev, and [Gordon](/manuals/ai/gordon/_index.md).

Check failure on line 11 in content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Dev' instead of 'dev'. Raw Output: {"message": "[Vale.Terms] Use 'Dev' instead of 'dev'.", "location": {"path": "content/manuals/ai/mcp-catalog-and-toolkit/toolkit.md", "range": {"start": {"line": 11, "column": 87}}}, "severity": "ERROR"}
- Integrated tool discovery: Browse and launch MCP servers that are available in the Docker MCP Catalog, directly from Docker Desktop.
- No manual setup: Skip dependency management, runtime setup, and manual server configuration.

## How it works

The **MCP Servers** tab lists all available servers from the Docker MCP Catalog. Each entry includes:

- Tool name and description
- Partner/publisher
- Number of callable tools and what they are

To enable an MCP server, simply use the toggle switch to toggle it on.

> [!NOTE]
>
> Some MCP servers requires secrets or tokens to be configured before it can be enabled. Instructions on how to do this can be found on each MCP servers' repository.

The **MCP Clients** tab lets you connect your enabled MCP servers to supported agents. Connection is as simple as selecting **Connect**, so you can switch between LLM providers without altering your MCP server integrations or security configurations.

## Installation

To install the Docker MCP Toolkit extension:

1. In the Docker Desktop Dashboard, select the **Extensions** view, and then select **Manage**.
2. Select the **Browse** tab and search for **Docker MCP Toolkit**.
3. On the **Docker MCP Toolkit** result, select install.

The extension then appears under the **My extensions** tab.

### Example

The following example assumes you have already installed and set up Claude Desktop.

1. In the Docker MCP Toolkit extension, search for the Puppeteer MCP server in the **MCP Servers** tab, and toggle it on to enable.
2. From the **MCP Clients** tab, select the **Connect** button for Claude Desktop.
3. Within Claude Desktop, submit the following prompt using the Sonnet 3.5 model:

```text
Take a screenshot of docs.docker.com and then invert the colors
```

Once you've given your consent to use the new tools, Claude spins up the Puppeteer MCP server inside a container, navigates to the target URL, captures and modify the page, and returns the screenshot.
1 change: 1 addition & 0 deletions content/manuals/ai/model-runner.md
Original file line number Diff line number Diff line change
@@ -11,6 +11,7 @@ description: Learn how to use Docker Model Runner to manage and run AI models.
keywords: Docker, ai, model runner, docker deskotp, llm
aliases:
- /desktop/features/model-runner/
- /ai/model-runner/
---

{{< summary-bar feature_name="Docker Model Runner" >}}
10 changes: 10 additions & 0 deletions content/manuals/billing/cycle.md
Original file line number Diff line number Diff line change
@@ -39,6 +39,11 @@
5. Select **Continue to payment**.
6. Verify payment information and select **Upgrade subscription**.

> [!NOTE]
>
> If you choose to pay using a US bank account, you must verify the account. For

Check warning on line 44 in content/manuals/billing/cycle.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'US' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'US' has no definition.", "location": {"path": "content/manuals/billing/cycle.md", "range": {"start": {"line": 44, "column": 32}}}, "severity": "WARNING"}

Check warning on line 44 in content/manuals/billing/cycle.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.We] Avoid using first-person plural like 'US'. Raw Output: {"message": "[Docker.We] Avoid using first-person plural like 'US'.", "location": {"path": "content/manuals/billing/cycle.md", "range": {"start": {"line": 44, "column": 32}}}, "severity": "WARNING"}
> more information, see [Verify a bank account](manuals/billing/payment-method.md#verify-a-bank-account).

The billing plans and usage page will now reflect your new annual plan details.

{{< /tab >}}
@@ -73,6 +78,11 @@
5. Select **Continue to payment**.
6. Verify payment information and select **Upgrade subscription**.

> [!NOTE]
>
> If you choose to pay using a US bank account, you must verify the account. For

Check warning on line 83 in content/manuals/billing/cycle.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'US' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'US' has no definition.", "location": {"path": "content/manuals/billing/cycle.md", "range": {"start": {"line": 83, "column": 32}}}, "severity": "WARNING"}

Check warning on line 83 in content/manuals/billing/cycle.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.We] Avoid using first-person plural like 'US'. Raw Output: {"message": "[Docker.We] Avoid using first-person plural like 'US'.", "location": {"path": "content/manuals/billing/cycle.md", "range": {"start": {"line": 83, "column": 32}}}, "severity": "WARNING"}
> more information, see [Verify a bank account](manuals/billing/payment-method.md#verify-a-bank-account).

{{< /tab >}}
{{< tab name="Legacy Docker plan" >}}

1 change: 1 addition & 0 deletions content/manuals/billing/faqs.md
Original file line number Diff line number Diff line change
@@ -17,6 +17,7 @@
- Diners
- UnionPay
- Link
- ACH transfer with a [verified](manuals/billing/payment-method.md#verify-a-bank-account) US bank account

Check warning on line 20 in content/manuals/billing/faqs.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.We] Avoid using first-person plural like 'US'. Raw Output: {"message": "[Docker.We] Avoid using first-person plural like 'US'.", "location": {"path": "content/manuals/billing/faqs.md", "range": {"start": {"line": 20, "column": 91}}}, "severity": "WARNING"}

Check warning on line 20 in content/manuals/billing/faqs.md

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'US' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'US' has no definition.", "location": {"path": "content/manuals/billing/faqs.md", "range": {"start": {"line": 20, "column": 91}}}, "severity": "WARNING"}

### What currency is supported?

Loading