mirror of https://github.com/docker/docs.git
commit
dfa7fc3b8e
|
@ -1,7 +1,18 @@
|
|||
# https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md
|
||||
|
||||
# Start with all built-in rules.
|
||||
all
|
||||
# style
|
||||
rule 'header-style'
|
||||
rule 'hr-style'
|
||||
|
||||
rule 'MD013', :line_length => -1
|
||||
rule 'MD030', :ol_multi => 2
|
||||
# whitespace rules
|
||||
rule 'no-missing-space-atx'
|
||||
rule 'no-multiple-space-atx'
|
||||
rule 'no-missing-space-closed-atx'
|
||||
rule 'no-multiple-space-closed-atx'
|
||||
rule 'no-space-in-emphasis'
|
||||
rule 'no-space-in-code'
|
||||
rule 'no-space-in-links'
|
||||
|
||||
# miscellaneous
|
||||
rule 'ol-prefix', :style => :ordered
|
||||
rule 'no-reversed-links'
|
||||
|
|
|
@ -65,8 +65,13 @@ RUN --mount=type=bind,from=generate,source=/out,target=_site \
|
|||
|
||||
# mdl is a lint tool for markdown files
|
||||
FROM gem AS mdl
|
||||
ARG MDL_STYLE
|
||||
RUN --mount=type=bind,target=. \
|
||||
mdl --rules .mdlrc.style.rb .
|
||||
mdl --ignore-front-matter --style=${MDL_STYLE:-'.mdlrc.style.rb'} $( \
|
||||
find '.' -name '*.md' \
|
||||
-not -path './registry/*' \
|
||||
-not -path './desktop/extensions-sdk/*' \
|
||||
)
|
||||
|
||||
# Release the generated files in a scratch image
|
||||
# Can be output to your host with:
|
||||
|
|
4
Makefile
4
Makefile
|
@ -28,6 +28,10 @@ release:
|
|||
# Vendor Gemfile.lock
|
||||
vendor:
|
||||
$(BUILDX_CMD) bake vendor
|
||||
|
||||
# Run all validators
|
||||
validate:
|
||||
$(BUILDX_CMD) bake validate
|
||||
|
||||
# Check for broken links
|
||||
htmlproofer:
|
||||
|
|
|
@ -68,7 +68,7 @@ This creates the `registry.json` file at `C:\ProgramData\DockerDesktop\registry.
|
|||
On Mac, you can use the following methods to create a `registry.json` file.
|
||||
|
||||
|
||||
#### Create registry.json when installing Docker Desktop on Mac
|
||||
#### Create registry.json when installing Docker Desktop on Mac
|
||||
|
||||
To automatically create a registry.json file when installing Docker Desktop, download `Docker.dmg` and run the following commands in a terminal from the directory containing `Docker.dmg`. Replace `myorg` with your organization's name.
|
||||
|
||||
|
@ -78,7 +78,7 @@ $ sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --allowed-org=myorg
|
|||
$ sudo hdiutil detach /Volumes/Docker
|
||||
```
|
||||
|
||||
#### Create registry.json manually on Mac
|
||||
#### Create registry.json manually on Mac
|
||||
|
||||
To manually create a `registry.json` file, run the following commands in a terminal
|
||||
and replace `myorg` with your organization's name.
|
||||
|
|
|
@ -133,17 +133,22 @@ CMD flask run --host 0.0.0.0 --port 8000
|
|||
Go ahead and try this example in your local Docker installation or you can use [Play with Docker](https://labs.play-with-docker.com){:target="_blank" rel="noopener" class="_"} that provides you with a temporary Docker instance on the cloud.
|
||||
|
||||
To test this example:
|
||||
|
||||
1. Create a file hello.py with the content of sample A.
|
||||
|
||||
2. Create a file named Dockerfile without an extension with the contents of sample B.
|
||||
|
||||
3. From your Docker instance build it with `docker build -t test:latest .`
|
||||
|
||||
Breaking down the docker build command:
|
||||
* **`-t test:latest`** option specifies the name (required) and tag (optional) of the image we’re building.
|
||||
* **`.`** specifies the build context as the current directory. In this example, this is where build expects to find the Dockerfile and the local files the Dockerfile needs to access, in this case your python application.
|
||||
So, in accordance with the build command issued and how build context works, your Dockerfile and python app need to be on the same directory.
|
||||
|
||||
So, in accordance with the build command issued and how build context works, your Dockerfile and python app need to be on the same directory.
|
||||
|
||||
4. Run your newly built image with `docker run -p 8000:8000 test:latest`
|
||||
From your computer, open a browser and navigate to `http://localhost:8000` or, if you’re using [Play with Docker](https://labs.play-with-docker.com){:target="_blank" rel="noopener" class="_"}, click on Open Port.
|
||||
|
||||
From your computer, open a browser and navigate to `http://localhost:8000` or, if you’re using [Play with Docker](https://labs.play-with-docker.com){:target="_blank" rel="noopener" class="_"}, click on Open Port.
|
||||
|
||||
## Other resources
|
||||
|
||||
|
|
|
@ -2709,7 +2709,7 @@ this stack. The source of the secret is either `file` or `external`.
|
|||
supported when using `docker stack`.
|
||||
|
||||
In this example, `my_first_secret` is created as
|
||||
`<stack_name>_my_first_secret `when the stack is deployed,
|
||||
`<stack_name>_my_first_secret` when the stack is deployed,
|
||||
and `my_second_secret` already exists in Docker.
|
||||
|
||||
```yaml
|
||||
|
|
|
@ -122,7 +122,7 @@ services:
|
|||
image: 'webapp:v1.5'
|
||||
```
|
||||
|
||||
Passing the `--env-file ` argument overrides the default file path:
|
||||
Passing the `--env-file` argument overrides the default file path:
|
||||
|
||||
```console
|
||||
$ docker compose --env-file ./config/.env.dev config
|
||||
|
|
|
@ -176,7 +176,7 @@ When asked if you want to allow this app to make changes to your device, click *
|
|||
> To install a different version of Compose, substitute `{{site.compose_version}}`
|
||||
> with the version of Compose you want to use.
|
||||
|
||||
3. Test the installation.
|
||||
4. Test the installation.
|
||||
|
||||
```console
|
||||
$ docker compose version
|
||||
|
|
|
@ -248,7 +248,7 @@ For the full change log or additional information, check the [Compose repository
|
|||
### Changes
|
||||
|
||||
- Introduced support for `cache_from`, `cache_to`, `no_cache` and `pull` attributes in the build section. These attributes allow forcing a complete rebuild from sources and checking with registry for images used. These changes provide the basis for offering `--no-cache` and `--pull` options for compose build (or equivalent) command down the line.
|
||||
- Introduced support of an `--ssh ` flag for the `build` command from CLI and Compose file. Fixes [#7025](https://github.com/docker/compose/issues/7025){:target="_blank" rel="noopener" class="_"}.
|
||||
- Introduced support of an `--ssh` flag for the `build` command from CLI and Compose file. Fixes [#7025](https://github.com/docker/compose/issues/7025){:target="_blank" rel="noopener" class="_"}.
|
||||
- Fixed typo in `--ssh` flag description. Related to [#7025](https://github.com/docker/compose/issues/7025){:target="_blank" rel="noopener" class="_"}.
|
||||
- Pinned Kubernetes dependencies to the same version as in buildx.
|
||||
- Dependencies update: Bumped buildx to v0.8.1. to fix possible panic on handling build context scanning errors.
|
||||
|
|
|
@ -19,6 +19,12 @@ container, and monitor your Docker instance using Prometheus.
|
|||
Currently, you can only monitor Docker itself. You cannot currently monitor your
|
||||
application using the Docker target.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. One or more Docker engines are joined into a Docker swarm, using `docker
|
||||
swarm init` on one manager and `docker swarm join` on other managers and
|
||||
worker nodes.
|
||||
2. You need an internet connection to pull the Prometheus image.
|
||||
|
||||
## Configure Docker
|
||||
|
||||
|
@ -54,14 +60,6 @@ Docker now exposes Prometheus-compatible metrics on port 9323.
|
|||
|
||||
Prometheus runs as a Docker service on a Docker swarm.
|
||||
|
||||
> **Prerequisites**
|
||||
>
|
||||
> 1. One or more Docker engines are joined into a Docker swarm, using `docker swarm init`
|
||||
> on one manager and `docker swarm join` on other managers and worker nodes.
|
||||
>
|
||||
> 2. You need an internet connection to pull the Prometheus image.
|
||||
|
||||
|
||||
Copy one of the following configuration files and save it to
|
||||
`/tmp/prometheus.yml` (Linux or Mac) or `C:\tmp\prometheus.yml` (Windows). This
|
||||
is a stock Prometheus configuration file, except for the addition of the Docker
|
||||
|
|
|
@ -101,7 +101,7 @@ Docker then clones the repository with your specified branch or tag.
|
|||
1. From **Dev Environments** in Docker Dashboard, click **Create**. The **Create a Dev Environment** dialog displays.
|
||||
2. Select **Get Started** and then the **Local Folder** tab.
|
||||
3. Select **Select directory** to open the root of the code that you would like to work on.
|
||||
3. Select **Continue**.
|
||||
4. Select **Continue**.
|
||||
|
||||
This detects the main language of your local folder, creates a Dev Environment using your local folder, and bind-mounts your local code in the Dev Environment. It then opens VS Code inside the Dev Environment container.
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ Log out and log back in so that your group membership is re-evaluated.
|
|||
|
||||
3. Select **Docker Desktop** to start Docker. <br> The Docker menu ({: .inline}) displays the Docker Subscription Service Agreement window.
|
||||
|
||||
5. Select the checkbox to accept the updated terms and then click **Accept** to continue. Docker Desktop starts after you accept the terms.
|
||||
4. Select the checkbox to accept the updated terms and then click **Accept** to continue. Docker Desktop starts after you accept the terms.
|
||||
|
||||
> **Important**
|
||||
>
|
||||
|
|
|
@ -60,7 +60,7 @@ Docker Desktop on Mac and Linux allows you to use the host’s SSH agent inside
|
|||
|
||||
`--mount type=bind,src=/run/host-services/ssh-auth.sock,target=/run/host-services/ssh-auth.sock`
|
||||
|
||||
1. Add the `SSH_AUTH_SOCK` environment variable in your container:
|
||||
2. Add the `SSH_AUTH_SOCK` environment variable in your container:
|
||||
|
||||
`-e SSH_AUTH_SOCK="/run/host-services/ssh-auth.sock"`
|
||||
|
||||
|
|
|
@ -414,7 +414,7 @@ Docker Desktop 2.2.0.0 contains a Kubernetes upgrade. Your local Kubernetes clus
|
|||
- Users don't have to expose the Samba port, and therefore do not experience issues related to IT firewall or drive-sharing policy.
|
||||
- There is no need to provide user credentials to Docker Desktop. File access rights are automatically enforced when accessing mounted folders through containers.
|
||||
|
||||
For more information, see the blog post [ New file sharing implementation in Docker Desktop Windows](https://www.docker.com/blog/new-filesharing-implementation-in-docker-desktop-windows/).
|
||||
For more information, see the blog post [New file sharing implementation in Docker Desktop Windows](https://www.docker.com/blog/new-filesharing-implementation-in-docker-desktop-windows/).
|
||||
|
||||
- Added the **WSL Integration** option in **Settings** > **Resources** to select WSL 2 distributions. This option will be visible only after enabling WSL 2 on your machine.
|
||||
- Introduced a new user interface for the Docker Desktop **Settings** menu.
|
||||
|
|
|
@ -349,7 +349,7 @@ This page contains release notes for older versions of Docker Desktop for Mac.
|
|||
- Resync HTTP(S) proxy settings on application start
|
||||
- Interpret system proxy setting of `localhost` correctly (see [docker/for-mac#1511](https://github.com/docker/for-mac/issues/1511))
|
||||
- All Docker binaries bundled with Docker for Mac are now signed
|
||||
- Display all Docker Cloud organizations and repositories in the whale menu (fixes [docker/for-mac#1538 ](https://github.com/docker/for-mac/issues/1538))
|
||||
- Display all Docker Cloud organizations and repositories in the whale menu (fixes [docker/for-mac#1538](https://github.com/docker/for-mac/issues/1538))
|
||||
- OSXFS: improved latency for many common operations, such as read and write, by approximately 25%
|
||||
- Fixed GUI crash when text table view was selected and windows re-opened (fixes [docker/for-mac#1477](https://github.com/docker/for-mac/issues/1477))
|
||||
- Reset to default / uninstall also remove `config.json` and `osxkeychain` credentials
|
||||
|
|
|
@ -1495,7 +1495,7 @@ TCP connection is idle for more than five minutes (related to
|
|||
- Resync HTTP(S) proxy settings on application start
|
||||
- Interpret system proxy setting of localhost correctly (see [docker/for-mac#1511](https://github.com/docker/for-mac/issues/1511))
|
||||
- All docker binaries bundled with Docker for Mac are now signed
|
||||
- Display all docker cloud organizations and repositories in the whale menu (fixes [docker/for-mac#1538 ](https://github.com/docker/for-mac/issues/1538))
|
||||
- Display all docker cloud organizations and repositories in the whale menu (fixes [docker/for-mac#1538](https://github.com/docker/for-mac/issues/1538))
|
||||
- OSXFS: improved latency for many common operations, such as read and write by approximately 25%
|
||||
|
||||
### Docker Community Edition 17.05.0-ce-mac11, 2017-05-12
|
||||
|
@ -2226,7 +2226,7 @@ events or unexpected unmounts.
|
|||
* Improved Moby syslog facilities
|
||||
* Improved file-sharing tab
|
||||
* `com.docker.slirp`: included the DNS TCP fallback fix, required when UDP responses are truncated
|
||||
* `docker build/events/logs/stats... ` won't leak when iterrupted with Ctrl-C
|
||||
* `docker build/events/logs/stats...` won't leak when iterrupted with Ctrl-C
|
||||
|
||||
**Known issues**
|
||||
|
||||
|
|
|
@ -20,11 +20,12 @@ It also displays **In Use** tags next to images used by running and stopped cont
|
|||
|
||||
The **Images on disk** status bar displays the number of images and the total disk space used by the images.
|
||||
|
||||
## Manage your images
|
||||
## Manage your images
|
||||
|
||||
Use the **Search** field to search for any specific image.
|
||||
Use the **Search** field to search for any specific image.
|
||||
|
||||
You can sort images by:
|
||||
|
||||
You can sort images by:
|
||||
- Name
|
||||
- Date created
|
||||
- Size
|
||||
|
|
|
@ -77,9 +77,9 @@ Docker repository, regardless of the Autotest settings.
|
|||
|
||||
1. Log in to Docker Hub and select **Repositories** in the top navigation.
|
||||
|
||||
3. Select the repository you want to enable `Autotest` on.
|
||||
2. Select the repository you want to enable `Autotest` on.
|
||||
|
||||
4. From the repository view, click the **Builds** tab.
|
||||
3. From the repository view, click the **Builds** tab.
|
||||
|
||||
4. Click **Configure automated builds**.
|
||||
|
||||
|
@ -91,7 +91,7 @@ Docker repository, regardless of the Autotest settings.
|
|||
* the build location
|
||||
* at least one build rule
|
||||
|
||||
8. Choose your **Autotest** option.
|
||||
6. Choose your **Autotest** option.
|
||||
|
||||
The following options are available:
|
||||
|
||||
|
@ -111,7 +111,7 @@ Docker repository, regardless of the Autotest settings.
|
|||
environment variables defined in Docker Hub are not
|
||||
available. Automated builds continue to work as usual.
|
||||
|
||||
9. Click **Save** to save the settings, or click **Save and build** to save and
|
||||
7. Click **Save** to save the settings, or click **Save and build** to save and
|
||||
run an initial test.
|
||||
|
||||
## Check your test results
|
||||
|
|
|
@ -13,19 +13,19 @@ Before deactivating your Docker Hub account, please complete the following:
|
|||
1. Download any images and tags you want to keep:
|
||||
`docker pull -a <image>:<tag>`.
|
||||
|
||||
3. If you have an active subscription, downgrade it to the **Docker Personal** subscription.
|
||||
2. If you have an active subscription, downgrade it to the **Docker Personal** subscription.
|
||||
|
||||
In Docker Hub, navigate to **_Your Account_** > **Account Settings** > **Billing**.
|
||||
|
||||
4. If you have an enterprise license, download the key.
|
||||
3. If you have an enterprise license, download the key.
|
||||
|
||||
In Docker Hub, navigate to **_Your Account_** > **Accounts Settings** > **Licenses**. The download link will no longer be available after your account is disabled.
|
||||
|
||||
5. If you belong to any organizations, remove your account from all of them.
|
||||
4. If you belong to any organizations, remove your account from all of them.
|
||||
|
||||
6. If you are the sole owner of any organization, either add someone to the **owners** team and then remove yourself from the organization, or deactivate the organization as well.
|
||||
5. If you are the sole owner of any organization, either add someone to the **owners** team and then remove yourself from the organization, or deactivate the organization as well.
|
||||
|
||||
7. Unlink your [Github and Bitbucket accounts](https://docs.docker.com/docker-hub/builds/link-source/#unlink-a-github-user-account).
|
||||
6. Unlink your [Github and Bitbucket accounts](https://docs.docker.com/docker-hub/builds/link-source/#unlink-a-github-user-account).
|
||||
|
||||
Once you have completed all the steps above, you may deactivate your account. On Docker Hub, go to **_Your Account_** > **Accounts Settings** > **Deactivate Account**.
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ To invite multiple members to your organization via a CSV file containing email
|
|||
- **Already invited**: The user has already been sent an invite email and another invite email will not be sent.
|
||||
- **Member**: The user is already a member of your organization and an invite email will not be sent.
|
||||
- **Duplicate**: The CSV file has multiple occurrences of the same email address. The user will be sent only one invite email.
|
||||
4. Click **Send invites**.
|
||||
9. Click **Send invites**.
|
||||
> **Note**
|
||||
>
|
||||
> You can view the pending invitations in the **Members** tab. The invitees receive an email with a link to the organization in Docker Hub where they can accept or decline the invitation.
|
||||
|
|
|
@ -47,9 +47,9 @@ images to this repository.
|
|||
|
||||
2. Select a repository from the list, click **Settings** and then Delete Repository.
|
||||
|
||||
> **Note:**
|
||||
>
|
||||
> Deleting a repository deletes all the images it contains and its build settings. This action cannot be undone.
|
||||
> **Note:**
|
||||
>
|
||||
> Deleting a repository deletes all the images it contains and its build settings. This action cannot be undone.
|
||||
|
||||
3. Enter the name of the repository to confirm the deletion and click **Delete**.
|
||||
|
||||
|
|
|
@ -144,12 +144,12 @@ You must run a full-sync after enabling SCIM, if you already have users assigned
|
|||
|
||||
{:width="700px"}
|
||||
|
||||
10. Navigate to the SSO tab, and copy the **SAML 2.0 Endpoint (HTTP)** url and paste it in to [**Docker Hub**](https://hub.docker.com){: target="_blank" rel="noopener" class="_"} > **Settings** > **Security** > **SSO** > **SAML Sign-in URL**.
|
||||
11. In the **X.509 Certificate** field, click **View Details**.
|
||||
12. Copy the **PEM certificate**, and paste it in to [**Docker Hub**](https://hub.docker.com){: target="_blank" rel="noopener" class="_"} > **Settings** > **Security** > **SSO** > **Key x509 Certificate** and click **Save**.
|
||||
9. Navigate to the SSO tab, and copy the **SAML 2.0 Endpoint (HTTP)** url and paste it in to [**Docker Hub**](https://hub.docker.com){: target="_blank" rel="noopener" class="_"} > **Settings** > **Security** > **SSO** > **SAML Sign-in URL**.
|
||||
10. In the **X.509 Certificate** field, click **View Details**.
|
||||
11. Copy the **PEM certificate**, and paste it in to [**Docker Hub**](https://hub.docker.com){: target="_blank" rel="noopener" class="_"} > **Settings** > **Security** > **SSO** > **Key x509 Certificate** and click **Save**.
|
||||
12. In Onelogin, navigate to the **Access** tab, enable the app for `ol_role` that was already created and click **Save**.
|
||||
14. Navigate to the **Provisioning** tab and select **Enable provisioning**, and deselect the other options.
|
||||
15. In the drop-down, select **Suspend** and click **Save**.
|
||||
13. Navigate to the **Provisioning** tab and select **Enable provisioning**, and deselect the other options.
|
||||
14. In the drop-down, select **Suspend** and click **Save**.
|
||||
|
||||
|
||||
#### Generate a full-sync
|
||||
|
|
|
@ -65,7 +65,7 @@ Docker Hub Webhook payloads have the following payload JSON format:
|
|||
To validate a callback in a webhook chain, you need to
|
||||
|
||||
1. Retrieve the `callback_url` value in the request's JSON payload.
|
||||
1. Send a POST request to this URL containing a valid JSON body.
|
||||
2. Send a POST request to this URL containing a valid JSON body.
|
||||
|
||||
> **Note**: A chain request is only considered complete once the last
|
||||
> callback has been validated.
|
||||
|
|
|
@ -139,7 +139,7 @@ This procedure works for Debian on `x86_64` / `amd64`, `armhf`, `arm64`, and Ras
|
|||
```
|
||||
|
||||
b. Install a specific version using the version string from the second column,
|
||||
for example, `5:18.09.1~3-0~debian-stretch `.
|
||||
for example, `5:18.09.1~3-0~debian-stretch`.
|
||||
|
||||
```console
|
||||
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
|
||||
|
|
|
@ -406,7 +406,7 @@ IP address, follow these instructions to disable `dnsmasq` in NetworkManager.
|
|||
|
||||
Save and close the file.
|
||||
|
||||
4. Restart both NetworkManager and Docker. As an alternative, you can reboot
|
||||
3. Restart both NetworkManager and Docker. As an alternative, you can reboot
|
||||
your system.
|
||||
|
||||
```console
|
||||
|
|
|
@ -37,7 +37,7 @@ even leverage secure supply-chain features such as signed `push` and `pull` oper
|
|||
This guide walks you through two scenarios:
|
||||
|
||||
1. Initialize and deploy a new Docker App project from scratch.
|
||||
1. Convert an existing Compose app into a Docker App project (added later in the beta process).
|
||||
2. Convert an existing Compose app into a Docker App project (added later in the beta process).
|
||||
|
||||
The first scenario describes basic components of a Docker App with tools and workflow.
|
||||
|
||||
|
@ -46,12 +46,12 @@ The first scenario describes basic components of a Docker App with tools and wor
|
|||
This section describes the steps for creating a new Docker App project to familiarize you with the workflow and most important commands.
|
||||
|
||||
1. Prerequisites
|
||||
1. Initialize an empty new project
|
||||
1. Populate the project
|
||||
1. Validate the app
|
||||
1. Deploy the app
|
||||
1. Push the app to Docker Hub
|
||||
1. Install the app directly from Docker Hub
|
||||
2. Initialize an empty new project
|
||||
3. Populate the project
|
||||
4. Validate the app
|
||||
5. Deploy the app
|
||||
6. Push the app to Docker Hub
|
||||
7. Install the app directly from Docker Hub
|
||||
|
||||
### Prerequisites
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ skip_read_time: true
|
|||
+ Add support for `read_only` service to `docker stack deploy` [#docker/cli/73](https://github.com/docker/cli/pull/73)
|
||||
* Display Swarm cluster and node TLS information [#docker/cli/44](https://github.com/docker/cli/pull/44)
|
||||
+ Add support for placement preference to `docker stack deploy` [#docker/cli/35](https://github.com/docker/cli/pull/35)
|
||||
+ Add new `ca ` subcommand to `docker swarm` to allow managing a swarm CA [#docker/cli/48](https://github.com/docker/cli/pull/48)
|
||||
+ Add new `ca` subcommand to `docker swarm` to allow managing a swarm CA [#docker/cli/48](https://github.com/docker/cli/pull/48)
|
||||
+ Add credential-spec to compose [#docker/cli/71](https://github.com/docker/cli/pull/71)
|
||||
+ Add support for csv format options to `--network` and `--network-add` [#docker/cli/62](https://github.com/docker/cli/pull/62) [#33130](https://github.com/moby/moby/pull/33130)
|
||||
- Fix stack compose bind-mount volumes on Windows [#docker/cli/136](https://github.com/docker/cli/pull/136)
|
||||
|
|
|
@ -1689,12 +1689,12 @@ by another client (#15489)
|
|||
|
||||
## 1.6.2 (2015-05-13)
|
||||
|
||||
### Runtime
|
||||
### Runtime
|
||||
- Revert change prohibiting mounting into /sys
|
||||
|
||||
## 1.6.1 (2015-05-07)
|
||||
|
||||
### Security
|
||||
### Security
|
||||
- Fix read/write /proc paths (CVE-2015-3630)
|
||||
- Prohibit VOLUME /proc and VOLUME / (CVE-2015-3631)
|
||||
- Fix opening of file-descriptor 1 (CVE-2015-3627)
|
||||
|
|
|
@ -377,7 +377,7 @@ For more information about the vulnerability data, see [Docker Vulnerability Sca
|
|||
### Limiting the level of vulnerabilities displayed
|
||||
|
||||
Docker scan allows you to choose the level of vulnerabilities displayed in your scan report using the `--severity` flag.
|
||||
You can set the severity flag to `low`, `medium`, or` high` depending on the level of vulnerabilities you’d like to see in your report.
|
||||
You can set the severity flag to `low`, `medium`, or `high` depending on the level of vulnerabilities you’d like to see in your report.
|
||||
For example, if you set the severity level as `medium`, the scan report displays all vulnerabilities that are classified as medium and high.
|
||||
|
||||
```console
|
||||
|
|
|
@ -409,7 +409,7 @@ For example:
|
|||
|
||||
**[rootlesskit:parent] error: failed to start the child: fork/exec /proc/self/exe: operation not permitted**
|
||||
|
||||
This error occurs mostly when the value of `/proc/sys/kernel/unprivileged_userns_clone ` is set to 0:
|
||||
This error occurs mostly when the value of `/proc/sys/kernel/unprivileged_userns_clone` is set to 0:
|
||||
|
||||
```console
|
||||
$ cat /proc/sys/kernel/unprivileged_userns_clone
|
||||
|
|
|
@ -262,7 +262,7 @@ data. Then, you try and pull it.
|
|||
Docker to attempt to download the tampered image from the registry and reject
|
||||
it because it is invalid.
|
||||
|
||||
8. Pull the image again. This downloads the image from the registry, because we don't have it cached.
|
||||
9. Pull the image again. This downloads the image from the registry, because we don't have it cached.
|
||||
|
||||
/ # docker pull sandboxregistry:5000/test/trusttest
|
||||
Using default tag: latest
|
||||
|
|
|
@ -200,7 +200,7 @@ $ dockerd --userns-remap="testuser:testuser"
|
|||
$ docker run hello-world
|
||||
```
|
||||
|
||||
4. Verify that a namespaced directory exists within `/var/lib/docker/` named
|
||||
5. Verify that a namespaced directory exists within `/var/lib/docker/` named
|
||||
with the UID and GID of the namespaced user, owned by that UID and GID,
|
||||
and not group-or-world-readable. Some of the subdirectories are still
|
||||
owned by `root` and have different permissions.
|
||||
|
|
|
@ -279,10 +279,10 @@ restore the data to a new swarm.
|
|||
|
||||
1. Shut down Docker on the target host machine for the restored swarm.
|
||||
|
||||
3. Remove the contents of the `/var/lib/docker/swarm` directory on the new
|
||||
2. Remove the contents of the `/var/lib/docker/swarm` directory on the new
|
||||
swarm.
|
||||
|
||||
4. Restore the `/var/lib/docker/swarm` directory with the contents of the
|
||||
3. Restore the `/var/lib/docker/swarm` directory with the contents of the
|
||||
backup.
|
||||
|
||||
> Note
|
||||
|
@ -295,7 +295,7 @@ restore the data to a new swarm.
|
|||
> same as on the old swarm, and the unlock key is needed to restore the
|
||||
> swarm.
|
||||
|
||||
5. Start Docker on the new node. Unlock the swarm if necessary. Re-initialize
|
||||
4. Start Docker on the new node. Unlock the swarm if necessary. Re-initialize
|
||||
the swarm using the following command, so that this node does not attempt
|
||||
to connect to nodes that were part of the old swarm, and presumably no
|
||||
longer exist.
|
||||
|
@ -304,17 +304,17 @@ restore the data to a new swarm.
|
|||
$ docker swarm init --force-new-cluster
|
||||
```
|
||||
|
||||
6. Verify that the state of the swarm is as expected. This may include
|
||||
5. Verify that the state of the swarm is as expected. This may include
|
||||
application-specific tests or simply checking the output of
|
||||
`docker service ls` to be sure that all expected services are present.
|
||||
|
||||
7. If you use auto-lock,
|
||||
6. If you use auto-lock,
|
||||
[rotate the unlock key](swarm_manager_locking.md#rotate-the-unlock-key).
|
||||
|
||||
8. Add manager and worker nodes to bring your new swarm up to operating
|
||||
7. Add manager and worker nodes to bring your new swarm up to operating
|
||||
capacity.
|
||||
|
||||
9. Reinstate your previous backup regimen on the new swarm.
|
||||
8. Reinstate your previous backup regimen on the new swarm.
|
||||
|
||||
### Recover from losing the quorum
|
||||
|
||||
|
|
|
@ -250,7 +250,7 @@ real-world example, continue to
|
|||
cat: can't open '/run/secrets/my_secret_data': No such file or directory
|
||||
```
|
||||
|
||||
7. Stop and remove the service, and remove the secret from Docker.
|
||||
9. Stop and remove the service, and remove the secret from Docker.
|
||||
|
||||
```console
|
||||
$ docker service rm redis
|
||||
|
@ -457,7 +457,7 @@ generate the site key and certificate, name the files `site.key` and
|
|||
zoa5df26f7vpcoz42qf2csth8 site.conf 11 seconds ago 11 seconds ago
|
||||
```
|
||||
|
||||
4. Create a service that runs Nginx and has access to the three secrets. The
|
||||
3. Create a service that runs Nginx and has access to the three secrets. The
|
||||
last part of the `docker service create` command creates a symbolic link
|
||||
from the location of the `site.conf` secret to `/etc/nginx.conf.d/`, where
|
||||
Nginx looks for extra configuration files. This step happens before Nginx
|
||||
|
@ -510,7 +510,7 @@ generate the site key and certificate, name the files `site.key` and
|
|||
- `/run/secrets/site.crt`
|
||||
- `/etc/nginx/conf.d/site.conf`
|
||||
|
||||
5. Verify that the Nginx service is running.
|
||||
4. Verify that the Nginx service is running.
|
||||
|
||||
```console
|
||||
$ docker service ls
|
||||
|
@ -524,7 +524,7 @@ generate the site key and certificate, name the files `site.key` and
|
|||
nginx.1.9ls3yo9ugcls nginx:latest moby Running Running 3 minutes ago
|
||||
```
|
||||
|
||||
6. Verify that the service is operational: you can reach the Nginx
|
||||
5. Verify that the service is operational: you can reach the Nginx
|
||||
server, and that the correct TLS certificate is being used.
|
||||
|
||||
```console
|
||||
|
@ -598,7 +598,7 @@ generate the site key and certificate, name the files `site.key` and
|
|||
Verify return code: 0 (ok)
|
||||
```
|
||||
|
||||
7. To clean up after running this example, remove the `nginx` service and the
|
||||
6. To clean up after running this example, remove the `nginx` service and the
|
||||
stored secrets.
|
||||
|
||||
```console
|
||||
|
|
|
@ -54,7 +54,7 @@ machines.
|
|||
join as managers or workers depending on the value for the `--token`
|
||||
flag.
|
||||
|
||||
2. Run `docker info` to view the current state of the swarm:
|
||||
3. Run `docker info` to view the current state of the swarm:
|
||||
|
||||
```console
|
||||
$ docker info
|
||||
|
@ -72,7 +72,7 @@ machines.
|
|||
...snip...
|
||||
```
|
||||
|
||||
3. Run the `docker node ls` command to view information about nodes:
|
||||
4. Run the `docker node ls` command to view information about nodes:
|
||||
|
||||
```console
|
||||
$ docker node ls
|
||||
|
|
|
@ -86,7 +86,7 @@ the Docker CLI to see details about the service running in the swarm.
|
|||
]
|
||||
```
|
||||
|
||||
4. Run `docker service ps <SERVICE-ID>` to see which nodes are running the
|
||||
3. Run `docker service ps <SERVICE-ID>` to see which nodes are running the
|
||||
service:
|
||||
|
||||
```console
|
||||
|
|
|
@ -90,7 +90,7 @@ new instance that has never seen this container image! To do this, we will use P
|
|||
|
||||
You should see the image get pulled down and eventually start up!
|
||||
|
||||
5. Click on the 3000 badge when it comes up and you should see the app with your modifications! Hooray!
|
||||
6. Click on the 3000 badge when it comes up and you should see the app with your modifications! Hooray!
|
||||
If the 3000 badge doesn't show up, you can click on the "Open Port" button and type in 3000.
|
||||
|
||||
## Recap
|
||||
|
|
|
@ -118,7 +118,7 @@ PS> docker run -dp 3000:3000 `
|
|||
- 3000:3000
|
||||
```
|
||||
|
||||
5. Next, we'll migrate both the working directory (`-w /app`) and the volume mapping (`-v "$(pwd):/app"`) by using
|
||||
4. Next, we'll migrate both the working directory (`-w /app`) and the volume mapping (`-v "$(pwd):/app"`) by using
|
||||
the `working_dir` and `volumes` definitions. Volumes also has a [short](../compose/compose-file/compose-file-v3.md#short-syntax-3) and [long](../compose/compose-file/compose-file-v3.md#long-syntax-3) syntax.
|
||||
|
||||
One advantage of Docker Compose volume definitions is we can use relative paths from the current directory.
|
||||
|
@ -137,7 +137,7 @@ PS> docker run -dp 3000:3000 `
|
|||
- ./:/app
|
||||
```
|
||||
|
||||
6. Finally, we need to migrate the environment variable definitions using the `environment` key.
|
||||
5. Finally, we need to migrate the environment variable definitions using the `environment` key.
|
||||
|
||||
```yaml
|
||||
version: "3.7"
|
||||
|
|
|
@ -427,9 +427,7 @@ content:
|
|||
```dockerfile
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
##
|
||||
## Build
|
||||
##
|
||||
FROM golang:1.16-buster AS build
|
||||
|
||||
WORKDIR /app
|
||||
|
@ -442,9 +440,7 @@ COPY *.go ./
|
|||
|
||||
RUN go build -o /docker-gs-ping
|
||||
|
||||
##
|
||||
## Deploy
|
||||
##
|
||||
FROM gcr.io/distroless/base-debian10
|
||||
|
||||
WORKDIR /
|
||||
|
|
|
@ -346,4 +346,4 @@ In the next module, we’ll look into some options for doing so:
|
|||
|
||||
## Feedback
|
||||
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
|
|
|
@ -10,4 +10,4 @@ description: Learn how to deploy your application
|
|||
|
||||
## Feedback
|
||||
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
|
|
|
@ -202,4 +202,4 @@ In this module, we learned how to run containers and publish ports. We also lear
|
|||
|
||||
## Feedback
|
||||
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang %20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs](https://github.com/docker/docker.github.io/issues/new?title=[Golang %20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
|
|
|
@ -242,4 +242,4 @@ You can also consider deploying your application. For detailed instructions, see
|
|||
|
||||
## Feedback
|
||||
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Node.js%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs](https://github.com/docker/docker.github.io/issues/new?title=[Node.js%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates.
|
||||
|
|
|
@ -278,7 +278,7 @@ are as follows:
|
|||
- VLAN: 10, Subnet: 172.16.80.0/24, Gateway: 172.16.80.1
|
||||
- `--subnet=172.16.80.0/24 --gateway=172.16.80.1 -o parent=eth0.10`
|
||||
- VLAN: 20, IP subnet: 172.16.50.0/22, Gateway: 172.16.50.1
|
||||
- `--subnet=172.16.50.0/22 --gateway=172.16.50.1 -o parent=eth0.20 `
|
||||
- `--subnet=172.16.50.0/22 --gateway=172.16.50.1 -o parent=eth0.20`
|
||||
- VLAN: 30, Subnet: 10.1.100.0/16, Gateway: 10.1.100.1
|
||||
- `--subnet=10.1.100.0/16 --gateway=10.1.100.1 -o parent=eth0.30`
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ configure this app to use our SQL Server database, and then create a
|
|||
[Docker Desktop for Mac](../desktop/settings/mac.md#file-sharing), you
|
||||
need to set up file sharing for the volume that you need to map.
|
||||
|
||||
1. Within your directory, use the `dotnet:2.1-sdk` Docker image to generate a
|
||||
2. Within your directory, use the `dotnet:2.1-sdk` Docker image to generate a
|
||||
sample web application within the container under the `/app` directory and
|
||||
into your host machine in the working directory:
|
||||
|
||||
|
@ -42,7 +42,7 @@ configure this app to use our SQL Server database, and then create a
|
|||
> **Note**: If running in Docker Desktop for Windows, make sure to use Powershell
|
||||
or specify the absolute path of your app directory.
|
||||
|
||||
1. Create a `Dockerfile` within your app directory and add the following content:
|
||||
3. Create a `Dockerfile` within your app directory and add the following content:
|
||||
|
||||
```dockerfile
|
||||
# syntax=docker/dockerfile:1
|
||||
|
@ -62,7 +62,7 @@ configure this app to use our SQL Server database, and then create a
|
|||
project and exposes port 80. After that, it calls an `entrypoint` script
|
||||
that we create in the next step.
|
||||
|
||||
1. The `Dockerfile` makes use of an entrypoint to your webapp Docker
|
||||
4. The `Dockerfile` makes use of an entrypoint to your webapp Docker
|
||||
image. Create this script in a file called `entrypoint.sh` and paste the
|
||||
contents below.
|
||||
|
||||
|
@ -88,7 +88,7 @@ configure this app to use our SQL Server database, and then create a
|
|||
the application. This allows some time for the SQL Server database image to
|
||||
start up.
|
||||
|
||||
1. Create a `docker-compose.yml` file. Write the following in the file, and
|
||||
5. Create a `docker-compose.yml` file. Write the following in the file, and
|
||||
make sure to replace the password in the `SA_PASSWORD` environment variable
|
||||
under `db` below. This file defines the way the images interact as
|
||||
independent services.
|
||||
|
@ -119,7 +119,7 @@ configure this app to use our SQL Server database, and then create a
|
|||
> **Note**: You may receive an error if you choose the wrong Compose file
|
||||
> version. Be sure to choose a version that is compatible with your system.
|
||||
|
||||
1. Go to `Startup.cs` and locate the function called `ConfigureServices` (Hint:
|
||||
6. Go to `Startup.cs` and locate the function called `ConfigureServices` (Hint:
|
||||
it should be under line 42). Replace the entire function to use the following
|
||||
code (watch out for the brackets!).
|
||||
|
||||
|
@ -152,7 +152,7 @@ configure this app to use our SQL Server database, and then create a
|
|||
<...>
|
||||
```
|
||||
|
||||
1. Go to `app.csproj`. You see a line like:
|
||||
7. Go to `app.csproj`. You see a line like:
|
||||
|
||||
```
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="1.1.2" />
|
||||
|
@ -168,19 +168,19 @@ configure this app to use our SQL Server database, and then create a
|
|||
The Sqlite dependency was at version 1.1.2 at the time of this writing. Use the same
|
||||
version for the SQL Server dependency.
|
||||
|
||||
1. Ready! You can now run the `docker-compose build` command.
|
||||
8. Ready! You can now run the `docker-compose build` command.
|
||||
|
||||
```console
|
||||
$ docker-compose build
|
||||
```
|
||||
|
||||
1. Make sure you allocate at least 2GB of memory to Docker Engine. Here is how
|
||||
9. Make sure you allocate at least 2GB of memory to Docker Engine. Here is how
|
||||
to do it on
|
||||
[Docker Desktop for Mac](../desktop/settings/mac.md#advanced) and
|
||||
[Docker Desktop for Windows](../desktop/settings/windows.md#advanced).
|
||||
This is necessary to run the SQL Server on Linux container.
|
||||
|
||||
1. Run the `docker-compose up` command. After a few seconds, you should be able
|
||||
10. Run the `docker-compose up` command. After a few seconds, you should be able
|
||||
to open [localhost:8000](http://localhost:8000) and see the ASP.NET core
|
||||
sample website. The application is listening on port 80 by default, but we
|
||||
mapped it to port 8000 in the `docker-compose.yml`.
|
||||
|
|
|
@ -41,31 +41,31 @@ clone our [ASP.NET Docker Sample](https://github.com/dotnet/dotnet-docker/tree/m
|
|||
Docker Desktop for Windows. Read more on
|
||||
[switching containers](../desktop/faqs/windowsfaqs.md#how-do-i-switch-between-windows-and-linux-containers).
|
||||
3. The `Dockerfile` assumes that your application is called `aspnetapp`. Change
|
||||
the `Dockerfile` to use the DLL file of your project.
|
||||
the `Dockerfile` to use the DLL file of your project.
|
||||
|
||||
```dockerfile
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
|
||||
WORKDIR /app
|
||||
|
||||
# Copy csproj and restore as distinct layers
|
||||
COPY *.csproj ./
|
||||
RUN dotnet restore
|
||||
|
||||
# Copy everything else and build
|
||||
COPY ../engine/examples ./
|
||||
RUN dotnet publish -c Release -o out
|
||||
|
||||
# Build runtime image
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0
|
||||
WORKDIR /app
|
||||
COPY --from=build-env /app/out .
|
||||
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
|
||||
```
|
||||
```dockerfile
|
||||
# syntax=docker/dockerfile:1
|
||||
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
|
||||
WORKDIR /app
|
||||
|
||||
# Copy csproj and restore as distinct layers
|
||||
COPY *.csproj ./
|
||||
RUN dotnet restore
|
||||
|
||||
# Copy everything else and build
|
||||
COPY ../engine/examples ./
|
||||
RUN dotnet publish -c Release -o out
|
||||
|
||||
# Build runtime image
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:6.0
|
||||
WORKDIR /app
|
||||
COPY --from=build-env /app/out .
|
||||
ENTRYPOINT ["dotnet", "aspnetapp.dll"]
|
||||
```
|
||||
|
||||
4. To make your build context as small as possible add a [`.dockerignore`
|
||||
file](/engine/reference/builder/#dockerignore-file)
|
||||
to your project folder and copy the following into it.
|
||||
file](/engine/reference/builder/#dockerignore-file)
|
||||
to your project folder and copy the following into it.
|
||||
|
||||
```dockerignore
|
||||
bin/
|
||||
|
|
|
@ -187,8 +187,8 @@ To remove a member from an organization:
|
|||
|
||||
1. Log in to [Docker Hub](https://hub.docker.com){: target="_blank" rel="noopener" class="_"} as an administrator of your organization.
|
||||
2. Select the organization from the list. The organization page displays a list of members.
|
||||
2. Click the **x** next to a member’s name to remove them from all the teams in the organization.
|
||||
3. Click **Remove** to confirm. The member will receive an email notification confirming the removal.
|
||||
3. Click the **x** next to a member’s name to remove them from all the teams in the organization.
|
||||
4. Click **Remove** to confirm. The member will receive an email notification confirming the removal.
|
||||
|
||||
> **Note**
|
||||
>
|
||||
|
|
|
@ -101,7 +101,7 @@ need to use the legacy `overlay` driver, specify it instead.
|
|||
$ sudo systemctl start docker
|
||||
```
|
||||
|
||||
4. Verify that the daemon is using the `overlay2` storage driver.
|
||||
6. Verify that the daemon is using the `overlay2` storage driver.
|
||||
Use the `docker info` command and look for `Storage Driver` and
|
||||
`Backing filesystem`.
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ use unless you have substantial experience with ZFS on Linux.
|
|||
zpool-docker 55K 96.4G 19K /var/lib/docker
|
||||
```
|
||||
|
||||
3. Configure Docker to use `zfs`. Edit `/etc/docker/daemon.json` and set the
|
||||
4. Configure Docker to use `zfs`. Edit `/etc/docker/daemon.json` and set the
|
||||
`storage-driver` to `zfs`. If the file was empty before, it should now look
|
||||
like this:
|
||||
|
||||
|
@ -86,7 +86,7 @@ use unless you have substantial experience with ZFS on Linux.
|
|||
|
||||
Save and close the file.
|
||||
|
||||
4. Start Docker. Use `docker info` to verify that the storage driver is `zfs`.
|
||||
5. Start Docker. Use `docker info` to verify that the storage driver is `zfs`.
|
||||
|
||||
```console
|
||||
$ sudo docker info
|
||||
|
|
|
@ -39,7 +39,7 @@ A Docker ID is the core of a Docker subscription. You can get one for free at [D
|
|||
|
||||
### I want to buy a large number of Docker Team Subscription seats. How do I do this?
|
||||
|
||||
Contact the [Docker Sales Team ](https://goto.docker.com/pricing-question.html){:target="blank" rel="noopener" class=""} to buy a larger number of Docker Team Subscription seats.
|
||||
Contact the [Docker Sales Team](https://goto.docker.com/pricing-question.html){:target="blank" rel="noopener" class=""} to buy a larger number of Docker Team Subscription seats.
|
||||
|
||||
### How do I access support? Do I have any extra benefits?
|
||||
|
||||
|
|
Loading…
Reference in New Issue