diff --git a/content/manuals/accounts/create-account.md b/content/manuals/accounts/create-account.md index 516c21c5e52a..4585cca89610 100644 --- a/content/manuals/accounts/create-account.md +++ b/content/manuals/accounts/create-account.md @@ -3,11 +3,12 @@ title: Create a Docker account linkTitle: Create an account weight: 10 description: Learn how to register for a Docker ID and sign in to your account -keywords: accounts, docker ID, billing, paid plans, support, Hub, Store, Forums, knowledge +keywords: + accounts, docker ID, billing, paid plans, support, Hub, Store, Forums, knowledge base, beta access, email, activation, verification aliases: -- /docker-hub/accounts/ -- /docker-id/ + - /docker-hub/accounts/ + - /docker-id/ --- You can create a free Docker account with your email address or by signing up @@ -28,15 +29,13 @@ Signing up with an email address, Google, or GitHub account requires additional - If you sign up with Google or GitHub, you must first verify your email address with that provider. - If you sign up with an email address, Docker sends a verification email. Follow the procedures in that email to verify your account and complete the sign-up process. -Docker blocks sign-in until you've verified your account. +Docker blocks sign-in until you've verified your account. ### Sign up with your email 1. Go to the [Docker sign-up page](https://app.docker.com/signup/) and enter a unique, valid email address. 1. Enter a username to use as your Docker ID. Once you create your Docker ID -you can't reuse it in the future if you deactivate this account. Your username: - - Must be between 4 and 30 characters long - - Can only contain numbers and lowercase letters + you can't reuse it in the future if you deactivate this account. Your username: - Must be between 4 and 30 characters long - Can only contain numbers and lowercase letters 1. Choose a password that's at least 9 characters long, then select **Sign Up**. 1. Verify your email address when you receive the Docker verification email. This completes the registration process. @@ -46,10 +45,10 @@ you can't reuse it in the future if you deactivate this account. Your username: 1. Select your social provider, Google or GitHub. 1. Select the social account you want to link to your Docker account. 1. Select **Authorize Docker** to let Docker access your social account -information. You will be re-routed to the sign-up page. + information. You will be re-routed to the sign-up page. 1. Enter a username to use as your Docker ID. Your username: - - Must be between 4 and 30 characters long - - Can only contain numbers and lowercase letters + - Must be between 4 and 30 characters long + - Can only contain numbers and lowercase letters 1. Select **Sign up**. ## Sign in to your account @@ -73,7 +72,7 @@ accounts are automatically linked. If no Docker ID exists, Docker creates a new account for you. -Docker doesn't currently support linking multiple sign-in methods +Docker doesn't support linking multiple sign-in methods to the same Docker ID. ### Sign in using the CLI @@ -108,5 +107,6 @@ If you have a paid Docker subscription, All Docker users can seek troubleshooting information and support through the following resources, where Docker or the community respond on a best effort basis: - - [Docker Community Forums](https://forums.docker.com/) - - [Docker Community Slack](http://dockr.ly/comm-slack) + +- [Docker Community Forums](https://forums.docker.com/) +- [Docker Community Slack](http://dockr.ly/comm-slack) diff --git a/content/manuals/accounts/deactivate-user-account.md b/content/manuals/accounts/deactivate-user-account.md index 53f1e13c4b5c..c3bf2eb8ae2b 100644 --- a/content/manuals/accounts/deactivate-user-account.md +++ b/content/manuals/accounts/deactivate-user-account.md @@ -15,25 +15,26 @@ see [Deactivating an organization](../admin/organization/deactivate-account.md). > [!WARNING] > > All Docker products and services that use your Docker account are -inaccessible after deactivating your account. +> inaccessible after deactivating your account. ## Prerequisites Before deactivating your Docker account, ensure you meet the following requirements: - If you are an organization or company owner, you must leave your organization -or company before deactivating your Docker account: - 1. Sign in to [Docker Home](https://app.docker.com/admin) and choose - your organization. - 1. Select **Members** and find your username. - 1. Select the **Actions** menu and then select **Leave organization**. + or company before deactivating your Docker account: + 1. Sign in to [Docker Home](https://app.docker.com/admin) and choose + your organization. + 1. Select **Members** and find your username. + 1. Select the **Actions** menu and then select **Leave organization**. - If you are the sole owner of an organization, you must assign the owner role -to another member of the organization and then remove yourself from the -organization, or deactivate the organization. Similarly, if you are the sole -owner of a company, either add someone else as a company owner and then remove -yourself, or deactivate the company. + to another member of the organization and then remove yourself from the + organization, or deactivate the organization. Similarly, if you are the sole + owner of a company, either add someone else as a company owner and then remove + yourself, or deactivate the company. - If you have an active Docker subscription, [downgrade it to a Docker Personal subscription](../subscription/change.md). -- Download any images and tags you want to keep. Use `docker pull -a :`. +- Download any images and tags you want to keep. Use `docker pull -a ` + to pull all tags, or `docker pull :` to pull a specific tag. - Unlink your [GitHub and account](../docker-hub/repos/manage/builds/link-source.md#unlink-a-github-user-account). ## Deactivate @@ -43,7 +44,7 @@ Once you have completed all the previous steps, you can deactivate your account. > [!WARNING] > > Deactivating your account is permanent and can't be undone. Make sure -to back up any important data. +> to back up any important data. 1. Sign in to [Docker Home](https://app.docker.com/login). 1. Select your avatar to open the drop-down menu. diff --git a/content/manuals/admin/organization/deactivate-account.md b/content/manuals/admin/organization/deactivate-account.md index 190bb403861e..4de91904459a 100644 --- a/content/manuals/admin/organization/deactivate-account.md +++ b/content/manuals/admin/organization/deactivate-account.md @@ -4,7 +4,7 @@ description: Learn how to deactivate a Docker organization and required prerequi keywords: delete, deactivate organization, account, organization management, Admin Console, cancel subscription weight: 42 aliases: -- /docker-hub/deactivate-account/ + - /docker-hub/deactivate-account/ --- {{< summary-bar feature_name="General admin" >}} @@ -16,15 +16,15 @@ accounts, see [Deactivate a user account](../../accounts/deactivate-user-account > [!WARNING] > > All Docker products and services that use your Docker account or organization -account will be inaccessible after deactivating your account. +> account will be inaccessible after deactivating your account. ## Prerequisites You must complete all the following steps before you can deactivate your organization: -- Download any images and tags you want to keep: - `docker pull -a :`. +- Download any images and tags you want to keep. Use `docker pull -a ` + to pull all tags, or `docker pull :` to pull a specific tag. - If you have an active Docker subscription, [downgrade it to a free subscription](../../subscription/change.md). - Remove all other members within the organization. - Unlink your [GitHub and Bitbucket accounts](../../docker-hub/repos/manage/builds/link-source.md#unlink-a-github-user-account). @@ -38,12 +38,11 @@ Docker Hub. > [!WARNING] > > This cannot be undone. Be sure you've gathered all the data you need from -your organization before deactivating it. +> your organization before deactivating it. 1. Sign in to [Docker Home](https://app.docker.com) and select the organization -you want to deactivate. + you want to deactivate. 1. Select **Admin Console**, then **Deactivate**. If the **Deactivate** -button is unavailable, confirm you've completed all [Prerequisites](#prerequisites). + button is unavailable, confirm you've completed all [Prerequisites](#prerequisites). 1. Enter the organization name to confirm deactivation. 1. Select **Deactivate organization**. - diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/cli.md b/content/manuals/ai/mcp-catalog-and-toolkit/cli.md index d4bbcb68719d..fd7a6db79a99 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/cli.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/cli.md @@ -1,7 +1,7 @@ --- title: Use MCP Toolkit from the CLI linkTitle: Use with CLI -description: Manage MCP profiles, servers, and catalogs using the Docker MCP CLI. +description: Manage MCP profiles, servers, and catalogs using Docker MCP CLI. keywords: docker mcp, cli, profiles, servers, catalog, gateway weight: 35 --- @@ -73,12 +73,12 @@ select a server, and check the **Server ID** field. Servers are referenced by URI. The URI format depends on where the server comes from: -| Format | Source | -| --- | --- | -| `catalog:///` | An OCI catalog | -| `docker://:` | A Docker image | -| `https:///v0/servers/` | The MCP community registry | -| `file://` | A local YAML or JSON file | +| Format | Source | +| ------------------------------------- | -------------------------- | +| `catalog:///` | An OCI catalog | +| `docker://:` | A Docker image | +| `https:///v0/servers/` | The MCP community registry | +| `file://` | A local YAML or JSON file | The most common format is `catalog://`, where `` matches the **Catalog** field and `` matches the **Server ID** field shown in @@ -222,39 +222,53 @@ $ echo ".vscode/mcp.json" >> .gitignore ## Share profiles +Share profiles with your team using OCI registries or version control. + +### Share via OCI registry + Profiles are shared as OCI artifacts via any OCI-compatible registry. Credentials are not included for security reasons. Team members configure -OAuth separately after pulling. +authentication credentials separately after pulling. -### Push a profile +To push an existing profile called `web-dev` to an OCI registry: ```console -$ docker mcp profile push +$ docker mcp profile push web-dev registry.example.com/profiles/web-dev:v1 ``` -For example: +To pull the same profile: ```console -$ docker mcp profile push web-dev registry.example.com/profiles/web-dev:v1 +$ docker mcp profile pull registry.example.com/profiles/team-standard:latest ``` -### Pull a profile +### Share via version control + +For project-specific profiles, you can use the `export` and `import` commands +and store the profiles in version control alongside your code. Team members can +import the file to get the same configuration. + +To export a profile to your project directory: ```console -$ docker mcp profile pull +$ mkdir -p .docker +$ docker mcp profile export web-dev .docker/mcp-profile.json ``` -For example: +Team members who clone the repository can import the profile: ```console -$ docker mcp profile pull registry.example.com/profiles/team-standard:latest +$ docker mcp profile import .docker/mcp-profile.json ``` +This creates a profile with the servers and configuration defined in the +file. Any authentication credentials must be configured separately if needed. + ## Custom catalogs -Custom catalogs let you curate a focused collection of servers for your team or -organization. For an overview of what custom catalogs are and when to use them, -see [Custom catalogs](/manuals/ai/mcp-catalog-and-toolkit/catalog.md#custom-catalogs). +Custom catalogs let you curate a focused collection of servers for your team +or organization. For an overview of what custom catalogs are and when to use +them, see [Custom catalogs](/manuals/ai/mcp-catalog-and-toolkit/catalog.md#custom-catalogs). Catalogs are referenced by OCI reference, for example `registry.example.com/mcp/my-catalog:latest`. Servers within a catalog use @@ -267,7 +281,8 @@ Use the Docker catalog as a base, then add or remove servers to fit your organization's needs. Copy it first: ```console -$ docker mcp catalog tag mcp/docker-mcp-catalog registry.example.com/mcp/company-tools:latest +$ docker mcp catalog tag mcp/docker-mcp-catalog \ + registry.example.com/mcp/company-tools:latest ``` List the servers it contains: @@ -279,7 +294,8 @@ $ docker mcp catalog server ls registry.example.com/mcp/company-tools:latest Remove servers your organization doesn't approve: ```console -$ docker mcp catalog server remove registry.example.com/mcp/company-tools:latest \ +$ docker mcp catalog server remove \ + registry.example.com/mcp/company-tools:latest \ --name ``` @@ -357,7 +373,8 @@ can find to your curated set. To enable specific servers from your catalog without using a profile: ```console -$ docker mcp gateway run --catalog --servers --servers +$ docker mcp gateway run --catalog \ + --servers --servers ``` ## Further reading diff --git a/content/manuals/ai/mcp-catalog-and-toolkit/profiles.md b/content/manuals/ai/mcp-catalog-and-toolkit/profiles.md index 9231489d9b90..8da3d6601e42 100644 --- a/content/manuals/ai/mcp-catalog-and-toolkit/profiles.md +++ b/content/manuals/ai/mcp-catalog-and-toolkit/profiles.md @@ -6,12 +6,13 @@ keywords: Docker MCP, profiles, MCP servers, configuration, sharing weight: 25 --- -{{< summary-bar feature_name="Docker MCP Toolkit" >}} +{{< summary-bar feature_name="MCP Profiles" >}} -> [!NOTE] -> This page describes the MCP Toolkit interface in Docker Desktop 4.62 and -> later. Earlier versions have a different UI. Upgrade to follow these -> instructions exactly. +> [!IMPORTANT] +> MCP Profiles is rolling out gradually in Docker Desktop 4.63. If you don't +> see the **Profiles** tab in your Docker Desktop, it hasn't been enabled for +> your account yet. It will become available to all users as the rollout +> completes. Profiles organize your MCP servers into named collections. Without profiles, you'd configure servers separately for every AI application you use. Each time diff --git a/content/reference/compose-file/build.md b/content/reference/compose-file/build.md index 3961127b5292..663292ca4b7b 100644 --- a/content/reference/compose-file/build.md +++ b/content/reference/compose-file/build.md @@ -2,26 +2,30 @@ title: Compose Build Specification description: Learn about the Compose Build Specification keywords: compose, compose specification, compose file reference, compose build specification -aliases: - - /compose/compose-file/build/ +aliases: + - /compose/compose-file/build/ weight: 130 --- {{% include "compose/build.md" %}} -In the former case, the whole path is used as a Docker context to execute a Docker build, looking for a canonical -`Dockerfile` at the root of the directory. The path can be absolute or relative. If it is relative, it is resolved -from the directory containing your Compose file. If it is absolute, the path prevents the Compose file from being portable so Compose displays a warning. +When `build` is specified as a string, the whole path is used as a +Docker context to execute a Docker build, looking for a canonical +`Dockerfile` at the root of the directory. -In the latter case, build arguments can be specified, including an alternate `Dockerfile` location. The path can be absolute or relative. If it is relative, it is resolved -from the directory containing your Compose file. If it is absolute, the path prevents the Compose file from being portable so Compose displays a warning. +When `build` is specified as a detailed structure, build arguments can +be specified, including an alternate `Dockerfile` location. -## Using `build` and `image` +In both cases, the path can be absolute or relative. If it is relative, +it is resolved from the directory containing your Compose file. If it is +absolute, the path prevents the Compose file from being portable so +Compose displays a warning. -When Compose is confronted with both a `build` subsection for a service and an `image` attribute, it follows the rules defined by the [`pull_policy`](services.md#pull_policy) attribute. +## Using `build` and `image` -If `pull_policy` is missing from the service definition, Compose attempts to pull the image first and then builds from source if the image isn't found in the registry or platform cache. +When Compose is confronted with both a `build` subsection for a service and an `image` attribute, it follows the rules defined by the [`pull_policy`](services.md#pull_policy) attribute. +If `pull_policy` is missing from the service definition, Compose attempts to pull the image first and then builds from source if the image isn't found in the registry or platform cache. ## Publishing built images @@ -49,9 +53,9 @@ services: When used to build service images from source, the Compose file creates three Docker images: -* `example/webapp`: A Docker image is built using `webapp` sub-directory, within the Compose file's folder, as the Docker build context. Lack of a `Dockerfile` within this folder returns an error. -* `example/database`: A Docker image is built using `backend` sub-directory within the Compose file's folder. `backend.Dockerfile` file is used to define build steps, this file is searched relative to the context path, which means `..` resolves to the Compose file's folder, so `backend.Dockerfile` is a sibling file. -* A Docker image is built using the `custom` directory with the user's `$HOME` as the Docker context. Compose displays a warning about the non-portable path used to build image. +- `example/webapp`: A Docker image is built using `webapp` sub-directory, within the Compose file's folder, as the Docker build context. Lack of a `Dockerfile` within this folder returns an error. +- `example/database`: A Docker image is built using `backend` sub-directory within the Compose file's folder. `backend.Dockerfile` file is used to define build steps, this file is searched relative to the context path, which means `..` resolves to the Compose file's folder, so `backend.Dockerfile` is a sibling file. +- A Docker image is built using the `custom` directory with the user's `$HOME` as the Docker context. Compose displays a warning about the non-portable path used to build image. On push, both `example/webapp` and `example/database` Docker images are pushed to the default registry. The `custom` service image is skipped as no `image` attribute is set and Compose displays a warning about this missing attribute. @@ -61,6 +65,7 @@ The `build` subsection defines configuration options that are applied by Compose `build` can be specified either as a string containing a path to the build context or as a detailed structure: Using the string syntax, only the build context can be configured as either: + - A relative path to the Compose file's folder. This path must be a directory and must contain a `Dockerfile` ```yml @@ -70,8 +75,8 @@ Using the string syntax, only the build context can be configured as either: ``` - A Git repository URL. Git URLs accept context configuration in their fragment section, separated by a colon (`:`). -The first part represents the reference that Git checks out, and can be either a branch, a tag, or a remote reference. -The second part represents a subdirectory inside the repository that is used as a build context. + The first part represents the reference that Git checks out, and can be either a branch, a tag, or a remote reference. + The second part represents a subdirectory inside the repository that is used as a build context. ```yml services: @@ -124,20 +129,20 @@ layers between service images. ```yaml services: - base: - build: - context: . - dockerfile_inline: | - FROM alpine - RUN ... - my-service: - build: - context: . - dockerfile_inline: | - FROM base # image built for service base - RUN ... - additional_contexts: - base: service:base + base: + build: + context: . + dockerfile_inline: | + FROM alpine + RUN ... + my-service: + build: + context: . + dockerfile_inline: | + FROM base # image built for service base + RUN ... + additional_contexts: + base: service:base ``` ### `args` @@ -185,7 +190,6 @@ Compose Build implementations may support custom types, the Compose Specificatio - `registry` to retrieve build cache from an OCI image set by key `ref` - ```yml build: context: . @@ -205,8 +209,8 @@ Unsupported caches are ignored and don't prevent you from building images. build: context: . cache_to: - - user/app:cache - - type=local,dest=path/to/cache + - user/app:cache + - type=local,dest=path/to/cache ``` Cache target is defined using the same `type=TYPE[,KEY=VALUE]` syntax defined by [`cache_from`](#cache_from). @@ -232,7 +236,7 @@ services: build: https://github.com/mycompany/webapp.git ``` -If not set explicitly, `context` defaults to project directory (`.`). +If not set explicitly, `context` defaults to project directory (`.`). ### `dockerfile` @@ -272,11 +276,11 @@ build: `entitlements` defines extra privileged entitlements to be allowed during the build. - ```yaml - entitlements: - - network.host - - security.insecure - ``` +```yaml +entitlements: + - network.host + - security.insecure +``` ### `extra_hosts` @@ -288,6 +292,7 @@ extra_hosts: - "otherhost=50.31.209.229" - "myhostv6=::1" ``` + IPv6 addresses can be enclosed in square brackets, for example: ```yml @@ -349,7 +354,7 @@ Set the network containers connect to for the `RUN` instructions during build. build: context: . network: host -``` +``` ```yaml build: @@ -390,6 +395,7 @@ When the `platforms` attribute is defined, Compose includes the service's platform, otherwise users won't be able to run images they built. Composes reports an error in the following cases: + - When the list contains multiple platforms but the implementation is incapable of storing multi-platform images. - When the list contains an unsupported platform. @@ -400,6 +406,7 @@ Composes reports an error in the following cases: - "linux/amd64" - "unsupported/unsupported" ``` + - When the list is non-empty and does not contain the service's platform. ```yml @@ -426,9 +433,9 @@ build: ### `provenance` -{{< summary-bar feature_name="Compose provenance" >}} +{{< summary-bar feature_name="Compose provenance" >}} -`provenance` configures the builder to add a [provenance attestation](https://slsa.dev/provenance/v0.2#schema) to the published image. +`provenance` configures the builder to add a [provenance attestation](https://slsa.dev/provenance/v0.2#schema) to the published image. The value can be either a boolean to enable/disable provenance attestation, or a key=value string to set provenance configuration. You can use this to select the level of detail to be included in the provenance attestation by setting the `mode` parameter. @@ -454,7 +461,7 @@ available in the local image store. {{< summary-bar feature_name="Compose sbom" >}} -`sbom` configures the builder to add a [provenance attestation](https://slsa.dev/provenance/v0.2#schema) to the published image. +`sbom` configures the builder to add a [provenance attestation](https://slsa.dev/provenance/v0.2#schema) to the published image. The value can be either a boolean to enable/disable sbom attestation, or a key=value string to set SBOM generator configuration. This let you select an alternative SBOM generator image (see https://github.com/moby/buildkit/blob/master/docs/attestations/sbom-protocol.md) @@ -551,23 +558,27 @@ Such grant must be explicit within service specification as [secrets](services.m `ssh` defines SSH authentications that the image builder should use during image build (e.g., cloning private repository). `ssh` property syntax can be either: -* `default`: Let the builder connect to the SSH-agent. -* `ID=path`: A key/value definition of an ID and the associated path. It can be either a [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) file, or path to ssh-agent socket. + +- `default`: Let the builder connect to the SSH-agent. +- `ID=path`: A key/value definition of an ID and the associated path. It can be either a [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) file, or path to ssh-agent socket. ```yaml build: context: . ssh: - - default # mount the default SSH agent + - default # mount the default SSH agent ``` + or + ```yaml build: context: . - ssh: ["default"] # mount the default SSH agent + ssh: ["default"] # mount the default SSH agent ``` Using a custom id `myproject` with path to a local SSH key: + ```yaml build: context: . @@ -591,7 +602,7 @@ as an integer value representing the number of bytes or as a string expressing a ```yml build: context: . - shm_size: '2gb' + shm_size: "2gb" ``` ```yaml diff --git a/data/summary.yaml b/data/summary.yaml index d185551d56f8..89d2f36c767d 100644 --- a/data/summary.yaml +++ b/data/summary.yaml @@ -184,6 +184,9 @@ Docker MCP Catalog: availability: Beta Docker MCP Toolkit: availability: Beta +MCP Profiles: + availability: Early Access + requires: Docker Desktop 4.63 and later Docker Pass: requires: Docker Desktop 4.54 and later availability: Beta