Updating Docker for Win Community content (#9256)
Docker Desktop (Windows) content updates
|
|
@ -45,9 +45,7 @@ Usage: {% include kubernetes-mac-win.md platform="mac" %}
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{{ version-caveat }}
|
Docker Desktop includes a standalone Kubernetes server and client,
|
||||||
|
|
||||||
{{ min-version }} includes a standalone Kubernetes server and client,
|
|
||||||
as well as Docker CLI integration. The Kubernetes server runs locally within
|
as well as Docker CLI integration. The Kubernetes server runs locally within
|
||||||
your Docker instance, is not configurable, and is a single-node cluster.
|
your Docker instance, is not configurable, and is a single-node cluster.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,7 @@ title: Migrate Docker Toolbox
|
||||||
This page explains how to migrate your Docker Toolbox disk image, or images if
|
This page explains how to migrate your Docker Toolbox disk image, or images if
|
||||||
you have them, to Docker Desktop for Windows.
|
you have them, to Docker Desktop for Windows.
|
||||||
|
|
||||||
In version 18.01.0 and higher, the Docker Desktop for Windows installer no longer
|
## How to migrate Docker Toolbox disk images to Docker Desktop
|
||||||
prompts users to migrate from Docker Toolbox--you must do so manually.
|
|
||||||
|
|
||||||
## How to migrate Docker Toolbox disk images to Docker Desktop for Windows
|
|
||||||
|
|
||||||
> **Warning**: Migrating disk images from Docker Toolbox _clobbers_ Docker
|
> **Warning**: Migrating disk images from Docker Toolbox _clobbers_ Docker
|
||||||
> images if they exist. The migration process replaces the entire VM with your
|
> images if they exist. The migration process replaces the entire VM with your
|
||||||
|
|
@ -18,7 +15,7 @@ prompts users to migrate from Docker Toolbox--you must do so manually.
|
||||||
|
|
||||||
1. Install [qemu](https://www.qemu.org/){: target="_blank" class="_"} (a machine emulator): [https://cloudbase.it/downloads/qemu-img-win-x64-2_3_0.zip](https://cloudbase.it/downloads/qemu-img-win-x64-2_3_0.zip).
|
1. Install [qemu](https://www.qemu.org/){: target="_blank" class="_"} (a machine emulator): [https://cloudbase.it/downloads/qemu-img-win-x64-2_3_0.zip](https://cloudbase.it/downloads/qemu-img-win-x64-2_3_0.zip).
|
||||||
2. Install [Docker Desktop for Windows](install/){: target="_blank" class="_"}.
|
2. Install [Docker Desktop for Windows](install/){: target="_blank" class="_"}.
|
||||||
3. Stop Docker Desktop for Windows, if running.
|
3. Stop Docker Desktop, if running.
|
||||||
4. Move your current Docker VM disk to a safe location:
|
4. Move your current Docker VM disk to a safe location:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
|
|
@ -31,7 +28,7 @@ prompts users to migrate from Docker Toolbox--you must do so manually.
|
||||||
qemu-img.exe convert 'C:\Users\<username>\.docker\machine\machines\default\disk.vmdk' -O vhdx -o subformat=dynamic -p 'C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\MobyLinuxVM.vhdx'
|
qemu-img.exe convert 'C:\Users\<username>\.docker\machine\machines\default\disk.vmdk' -O vhdx -o subformat=dynamic -p 'C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\MobyLinuxVM.vhdx'
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Restart Docker Desktop for Windows (with your converted disk).
|
6. Restart Docker Desktop (with your converted disk).
|
||||||
|
|
||||||
## How to uninstall Docker Toolbox
|
## How to uninstall Docker Toolbox
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,55 +10,41 @@ for knowledge base articles, FAQs, technical support for subscription levels, an
|
||||||
|
|
||||||
## Questions about Stable and Edge channels
|
## Questions about Stable and Edge channels
|
||||||
|
|
||||||
### How do I get the Stable or Edge version of Docker Desktop for Windows?
|
### How do I get the Stable or Edge version of Docker Desktop?
|
||||||
|
|
||||||
Use the download links for the channels given in the topic
|
Use the download links for the channels given in the topic
|
||||||
[Download Docker Desktop for Windows](install#download-docker-for-windows).
|
[Download Docker Desktop for Windows](install#download-docker-for-windows).
|
||||||
|
|
||||||
This topic also has more information about the two channels.
|
This topic also has more information about the two channels.
|
||||||
|
|
||||||
### What is the difference between the Stable and Edge versions of Docker Desktop for Windows?
|
### What is the difference between the Stable and Edge versions of Docker Desktop?
|
||||||
|
|
||||||
Two different download channels are available for Docker Desktop for Windows:
|
Two different download channels are available for Docker Desktop:
|
||||||
|
|
||||||
* The **Stable channel** provides a general availability release-ready installer
|
* The **Stable channel** provides a general availability release-ready installer
|
||||||
for a fully baked and tested, more reliable app. The Stable version of Docker
|
for a fully baked and tested, more reliable app. The Stable version of Docker
|
||||||
Desktop for Windows comes with the latest released version of Docker Engine. The
|
Desktop includes the latest released version of Docker Engine. The
|
||||||
release schedule is synced with Docker Engine releases and hotfixes. On the
|
release schedule is synced with Docker Engine releases and hotfixes. On the
|
||||||
Stable channel, you can select whether to send usage statistics and other data.
|
Stable channel, you can select whether to send usage statistics and other data.
|
||||||
|
|
||||||
* The **Edge channel** provides an installer with new features we are working on,
|
* The **Edge channel** provides an installer with new features we are working on, but is not necessarily fully tested. It includes the experimental version of
|
||||||
but is not necessarily fully tested. It comes with the experimental version of
|
Docker Engine. Bugs, crashes, and issues can occur when using the Edge version, but you get a chance to preview new functionality, experiment, and provide feedback as the apps evolve. Edge releases are typically more frequent than for Stable, often one or more per month. Usage statistics and crash reports are sent by default. You do not have the option to disable this on the Edge channel.
|
||||||
Docker Engine. Bugs, crashes, and issues are more likely to occur with the Edge
|
|
||||||
app, but you get a chance to preview new functionality, experiment, and provide
|
|
||||||
feedback as the apps evolve. Releases are typically more frequent than for
|
|
||||||
Stable, often one or more per month. Usage statistics and crash reports are
|
|
||||||
sent by default. You do not have the option to disable this on the Edge channel.
|
|
||||||
|
|
||||||
### Can I switch back and forth between Stable and Edge versions of Docker Desktop for Windows?
|
### Can I switch back and forth between Stable and Edge versions of Docker Desktop?
|
||||||
|
|
||||||
Yes, you can switch between versions to try out the Edge release to see what's
|
Yes, you can switch between versions to try out the Edge release to see what's
|
||||||
new, then go back to Stable for other work. However, **you can have only one app
|
new, then go back to Stable for other work. However, **you can have only one app
|
||||||
installed at a time**. Switching back and forth between Stable and Edge apps can
|
installed at a time**. Switching back and forth between Stable and Edge apps can
|
||||||
destabilize your development environment, particularly in cases where you switch
|
destabilize your development environment, particularly in cases where you switch
|
||||||
from a newer (Edge) channel to older (Stable).
|
from a newer (Edge) channel to older version (Stable).
|
||||||
|
|
||||||
For example, containers created with a newer Edge version of Docker Desktop for Windows
|
For example, containers created with a newer Edge version of Docker Desktop may not work after you switch back to Stable because they may have been created using Edge features that aren't in Stable yet. Just keep this in mind as you create and work with Edge containers, perhaps in the spirit of a playground space where you are prepared to troubleshoot or start over.
|
||||||
may not work after you switch back to Stable because they may have been created
|
|
||||||
leveraging Edge features that aren't in Stable yet. Just keep this in mind as
|
|
||||||
you create and work with Edge containers, perhaps in the spirit of a playground
|
|
||||||
space where you are prepared to troubleshoot or start over.
|
|
||||||
|
|
||||||
<font color="#CC3366">To safely switch between Edge and Stable versions be sure
|
To safely switch between Edge and Stable versions, ensure that you save images and export the containers you need, then uninstall the current version before installing another. The workflow is described in detail in the following section.
|
||||||
to save images and export the containers you need, then uninstall the current
|
|
||||||
version before installing another. The workflow is described in more detail
|
|
||||||
below.</font><br>
|
|
||||||
|
|
||||||
### How to save and restore data
|
### How to save and restore data
|
||||||
|
|
||||||
The following procedure can be used to save/restore images and container data,
|
You can use the following procedure to save and restore images and container data, for example, if you want to switch between Edge and Stable, or reset your VM disk:
|
||||||
for example, if you want to switch between Edge and Stable, or reset your VM
|
|
||||||
disk:
|
|
||||||
|
|
||||||
1. Use `docker save -o images.tar image1 [image2 ...]` to save any images you
|
1. Use `docker save -o images.tar image1 [image2 ...]` to save any images you
|
||||||
want to keep. (See [save](/engine/reference/commandline/save) in the Docker
|
want to keep. (See [save](/engine/reference/commandline/save) in the Docker
|
||||||
|
|
@ -68,15 +54,14 @@ disk:
|
||||||
want to keep. (See [export](/engine/reference/commandline/export) in the
|
want to keep. (See [export](/engine/reference/commandline/export) in the
|
||||||
Docker Engine command line reference.)
|
Docker Engine command line reference.)
|
||||||
|
|
||||||
3. Uninstall the current app & Install a different version of the app (Stable
|
3. Uninstall the current version of Docker Desktop and install a different version (Stable or Edge), or reset your VM disk.
|
||||||
or Edge), or reset your VM disk.
|
|
||||||
|
|
||||||
5. Use `docker load -i images.tar` to reload previously saved images. (See
|
5. Use `docker load -i images.tar` to reload previously saved images. (See
|
||||||
[load](/engine/reference/commandline/load) in the Docker Engine
|
[load](/engine/reference/commandline/load) in the Docker Engine.
|
||||||
|
|
||||||
6. Use `docker import -i myContainer1.tar` to create a filesystem image
|
6. Use `docker import -i myContainer1.tar` to create a filesystem image
|
||||||
corresponding to previously exported containers. (See
|
corresponding to previously exported containers. (See
|
||||||
[import](/engine/reference/commandline/import) in the Docker Engine
|
[import](/engine/reference/commandline/import) in the Docker Engine.
|
||||||
|
|
||||||
[This
|
[This
|
||||||
procedure](https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes)
|
procedure](https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes)
|
||||||
|
|
@ -84,25 +69,24 @@ explains how to backup and restore data volumes.
|
||||||
|
|
||||||
## Experimental features
|
## Experimental features
|
||||||
|
|
||||||
{% include experimental-feature.md %}
|
{% include experimental.md %}
|
||||||
|
|
||||||
## Feedback
|
## Feedback
|
||||||
|
|
||||||
### What kind of feedback are we looking for?
|
### What kind of feedback are we looking for?
|
||||||
|
|
||||||
Everything is fair game. We'd like your impressions on the download-install
|
Everything is a fair game. We'd like your impressions on the download-install
|
||||||
process, startup, functionality available, the GUI, usefulness of the app,
|
process, startup, functionality available, the GUI, usefulness of the app,
|
||||||
command line integration, and so on. Tell us about problems, what you like, or
|
command line integration, and so on. Tell us about problems, what you like, or
|
||||||
functionality you'd like to see added.
|
functionality you'd like to see added.
|
||||||
|
|
||||||
We are especially interested in getting feedback on the new swarm mode described
|
We are especially interested in getting feedback on the swarm mode described
|
||||||
in [Docker Swarm](/engine/swarm/). A good place to start is the
|
in [Docker Swarm](/engine/swarm/). A good place to start is the
|
||||||
[tutorial](/engine/swarm/swarm-tutorial/).
|
[tutorial](/engine/swarm/swarm-tutorial/).
|
||||||
|
|
||||||
### What if I have problems or questions?
|
### What if I have problems or questions?
|
||||||
|
|
||||||
You can find the list of frequent issues in
|
You can find information about diagnosing and troubleshooting common issues in the [Logs and Troubleshooting](troubleshoot) section.
|
||||||
[Logs and Troubleshooting](troubleshoot).
|
|
||||||
|
|
||||||
If you do not find a solution in Troubleshooting, browse issues on
|
If you do not find a solution in Troubleshooting, browse issues on
|
||||||
[Docker Desktop for Windows issues on GitHub](https://github.com/docker/for-win/issues){: target="_blank" class="_"}
|
[Docker Desktop for Windows issues on GitHub](https://github.com/docker/for-win/issues){: target="_blank" class="_"}
|
||||||
|
|
@ -111,39 +95,34 @@ learn more about running diagnostics and about Docker Desktop for Windows GitHub
|
||||||
see [Diagnose and Feedback](/docker-for-windows#diagnose--feedback).
|
see [Diagnose and Feedback](/docker-for-windows#diagnose--feedback).
|
||||||
|
|
||||||
[Docker Desktop for Windows forum](https://forums.docker.com/c/docker-for-windows){: target="_blank" class="_"}
|
[Docker Desktop for Windows forum](https://forums.docker.com/c/docker-for-windows){: target="_blank" class="_"}
|
||||||
provides discussion threads as well, and you can create discussion topics there,
|
contains discussion threads. You can also create discussion topics there,
|
||||||
but we recommend using the GitHub issues over the forums for better tracking and
|
but we recommend using the GitHub issues over the forums for better tracking and
|
||||||
response.
|
response.
|
||||||
|
|
||||||
### How can I opt out of sending my usage data?
|
### How can I opt out of sending my usage data?
|
||||||
|
|
||||||
If you do not want auto-send of usage data, use the Stable channel. For more
|
If you do not want to send usage data, use the Stable channel. For more
|
||||||
information, see [Stable and Edge channels](#questions-about-stable-and-edge-channels) ("What is the difference between the Stable and Edge versions of Docker Desktop for Windows?").
|
information, see [Stable and Edge channels](#questions-about-stable-and-edge-channels) ("What is the difference between the Stable and Edge versions of Docker Desktop?").
|
||||||
|
|
||||||
### How is personal data handled in Docker Desktop?
|
### How is personal data handled in Docker Desktop?
|
||||||
|
|
||||||
When uploading diagnostics to help Docker with investigating issues, the
|
When uploading diagnostics to help Docker with investigating issues, the
|
||||||
uploaded diagnostics bundle may contain personal data such as usernames and IP
|
uploaded diagnostics bundle may contain personal data such as usernames and IP
|
||||||
addresses. The diagnostics bundles are only accessible to Docker Inc. employees
|
addresses. The diagnostics bundles are only accessible to Docker Inc. employees
|
||||||
who are directly involved in diagnosing Docker Desktop issues. By default Docker
|
who are directly involved in diagnosing Docker Desktop issues. By default, Docker Inc. will delete uploaded diagnostics bundles after 30 days unless they are referenced in an open issue on the
|
||||||
Inc. will delete uploaded diagnostics bundles after 30 days unless they are
|
|
||||||
referenced in an open issue on the
|
|
||||||
[docker/for-mac](https://github.com/docker/for-mac/issues) or
|
[docker/for-mac](https://github.com/docker/for-mac/issues) or
|
||||||
[docker/for-win](https://github.com/docker/for-win/issues) issue trackers. If an
|
[docker/for-win](https://github.com/docker/for-win/issues) issue trackers. If an
|
||||||
issue is closed, Docker Inc. will remove the referenced diagnostics bundles
|
issue is closed, Docker Inc. will remove the referenced diagnostics bundles
|
||||||
within 30 days. You may also request the removal of a diagnostics bundle by
|
within 30 days. You may also request the removal of a diagnostics bundle by
|
||||||
either specifying the diagnostics ID or via your GitHub ID (if the diagnostics
|
either specifying the diagnostics ID or through your GitHub ID (if the diagnostics ID is mentioned in a GitHub issue). Docker Inc. will only use the data in the diagnostics bundle to investigate specific user issues, but may derive high-level (non-personal) metrics such as the rate of issues from it.
|
||||||
ID is mentioned in a GitHub issue). Docker Inc. will only use the data in the
|
|
||||||
diagnostics bundle to investigate specific user issues, but may derive high
|
|
||||||
level (non personal) metrics such as the rate of issues from it.
|
|
||||||
|
|
||||||
### Can I use Docker Desktop for Windows with new swarm mode?
|
### Can I use Docker Desktop with the Swarm mode?
|
||||||
|
|
||||||
Yes! You can use Docker Desktop for Windows to test single-node features of
|
Yes! You can use Docker Desktop to test single-node features of
|
||||||
[swarm mode](/engine/swarm/) introduced with Docker Engine 1.12, including
|
[swarm mode](/engine/swarm/) introduced with Docker Engine 1.12, including
|
||||||
initializing a swarm with a single node, creating services, and scaling
|
initializing a swarm with a single node, creating services, and scaling
|
||||||
services. Docker “Moby” on Hyper-V serves as the single swarm node. You can also
|
services. Docker “Moby” on Hyper-V serves as the single swarm node. You can also
|
||||||
use Docker Machine, which comes with Docker Desktop for Windows, to create and
|
use Docker Machine, which is bundled with Docker Desktop, to create and
|
||||||
experiment with a multi-node swarm. Check out the tutorial at
|
experiment with a multi-node swarm. Check out the tutorial at
|
||||||
[Get started with swarm mode](/engine/swarm/swarm-tutorial/).
|
[Get started with swarm mode](/engine/swarm/swarm-tutorial/).
|
||||||
|
|
||||||
|
|
@ -151,22 +130,20 @@ experiment with a multi-node swarm. Check out the tutorial at
|
||||||
|
|
||||||
You might need to provide the location of the Engine API for Docker clients and development tools.
|
You might need to provide the location of the Engine API for Docker clients and development tools.
|
||||||
|
|
||||||
On Docker Desktop for Windows, clients can connect to the Docker Engine through a
|
On Docker Desktop, clients can connect to the Docker Engine through a
|
||||||
**named pipe**: `npipe:////./pipe/docker_engine`, or **TCP socket** at this URL:
|
**named pipe**: `npipe:////./pipe/docker_engine`, or **TCP socket** at this URL:
|
||||||
`tcp://localhost:2375`.
|
`tcp://localhost:2375`.
|
||||||
|
|
||||||
This sets `DOCKER_HOST` and `DOCKER_CERT_PATH` environment variables to the
|
This sets `DOCKER_HOST` and `DOCKER_CERT_PATH` environment variables to the
|
||||||
given values (for the named pipe or TCP socket, whichever you use).
|
given values (for the named pipe or TCP socket, whichever you use).
|
||||||
|
|
||||||
See also [Docker Engine API](/engine/api) and the Docker Desktop for Windows forums
|
See also [Docker Engine API](/engine/api) and the Docker Desktop for Windows forums topic [How to find the remote API](https://forums.docker.com/t/how-to-find-the-remote-api/20988){: target="_blank" class="_"}.
|
||||||
topic
|
|
||||||
[How to find the remote API](https://forums.docker.com/t/how-to-find-the-remote-api/20988){: target="_blank" class="_"}.
|
|
||||||
|
|
||||||
## Volumes
|
## Volumes
|
||||||
|
|
||||||
### Can I change permissions on shared volumes for container-specific deployment requirements?
|
### Can I change permissions on shared volumes for container-specific deployment requirements?
|
||||||
|
|
||||||
No, at this point, Docker Desktop for Windows does not enable you to control (`chmod`)
|
No, at this point, Docker Desktop does not enable you to control (`chmod`)
|
||||||
the Unix-style permissions on [shared volumes](/docker-for-windows#shared-drives) for
|
the Unix-style permissions on [shared volumes](/docker-for-windows#shared-drives) for
|
||||||
deployed containers, but rather sets permissions to a default value of
|
deployed containers, but rather sets permissions to a default value of
|
||||||
[0777](http://permissions-calculator.org/decode/0777/){: target="_blank" class="_"}
|
[0777](http://permissions-calculator.org/decode/0777/){: target="_blank" class="_"}
|
||||||
|
|
@ -178,16 +155,15 @@ For workarounds and to learn more, see
|
||||||
|
|
||||||
### Why doesn't `nodemon` pick up file changes in a container mounted on a shared drive?
|
### Why doesn't `nodemon` pick up file changes in a container mounted on a shared drive?
|
||||||
|
|
||||||
Currently, `inotify` does not work on Docker Desktop for Windows. This is a known issue.
|
Currently, `inotify` does not work on Docker Desktop. This is a known issue.
|
||||||
For more information and a temporary workaround, see
|
For more information and a temporary workaround, see
|
||||||
[inotify on shared drives does not work](troubleshoot#inotify-on-shared-drives-does-not-work){: target="_blank" class="_"}
|
[inotify on shared drives does not work](troubleshoot#inotify-on-shared-drives-does-not-work){: target="_blank" class="_"}
|
||||||
in [Troubleshooting](troubleshoot).
|
in [Troubleshooting](troubleshoot).
|
||||||
|
|
||||||
### Are symlinks supported?
|
### Are symlinks supported?
|
||||||
|
|
||||||
Docker Desktop for Windows supports symbolic links (symlinks) created within containers.
|
Docker Desktop supports symbolic links (symlinks) created within containers.
|
||||||
Symlinks resolve within and across containers.
|
Symlinks resolve within and across containers. Symlinks created outside of Docker do not work.
|
||||||
Symlinks created outside of Docker do not work.
|
|
||||||
|
|
||||||
To learn more about the reasons for this limitation, see the following discussions:
|
To learn more about the reasons for this limitation, see the following discussions:
|
||||||
|
|
||||||
|
|
@ -201,15 +177,13 @@ To learn more about the reasons for this limitation, see the following discussio
|
||||||
|
|
||||||
### How do I add custom CA certificates?
|
### How do I add custom CA certificates?
|
||||||
|
|
||||||
Starting with Docker Desktop for Windows 1.12.1, 2016-09-16 (Stable) and Beta 26
|
Starting with Docker Desktop 1.12.1, 2016-09-16 (Stable) and Beta 26
|
||||||
(2016-09-14 1.12.1-beta26), all trusted Certificate Authorities (CA) (root or
|
(2016-09-14 1.12.1-beta26), all trusted Certificate Authorities (CA) (root or
|
||||||
intermediate) are supported. Docker recognizes certs stored under Trust Root
|
intermediate) are supported. Docker recognizes certs stored under Trust Root
|
||||||
Certification Authorities or Intermediate Certification Authorities.
|
Certification Authorities or Intermediate Certification Authorities.
|
||||||
|
|
||||||
Docker Desktop for Windows creates a certificate bundle of all user-trusted CAs based on
|
Docker Desktop creates a certificate bundle of all user-trusted CAs based on
|
||||||
the Windows certificate store, and appends it to Moby trusted certificates. So
|
the Windows certificate store, and appends it to Moby trusted certificates. Therefore, if an enterprise SSL certificate is trusted by the user on the host, it is trusted by Docker Desktop.
|
||||||
if an enterprise SSL certificate is trusted by the user on the host, it is
|
|
||||||
trusted by Docker Desktop for Windows.
|
|
||||||
|
|
||||||
To learn more about how to install a CA root certificate for the registry, see
|
To learn more about how to install a CA root certificate for the registry, see
|
||||||
[Verify repository client with certificates](/engine/security/certificates)
|
[Verify repository client with certificates](/engine/security/certificates)
|
||||||
|
|
@ -217,20 +191,19 @@ in the Docker Engine topics.
|
||||||
|
|
||||||
### How do I add client certificates?
|
### How do I add client certificates?
|
||||||
|
|
||||||
Starting with Docker Desktop for Windows 17.06.0-ce, you do not need to push your
|
You can add your client certificates
|
||||||
certificates with `git` commands anymore. You can put your client certificates
|
|
||||||
in `~/.docker/certs.d/<MyRegistry>:<Port>/client.cert` and
|
in `~/.docker/certs.d/<MyRegistry>:<Port>/client.cert` and
|
||||||
`~/.docker/certs.d/<MyRegistry>:<Port>/client.key`.
|
`~/.docker/certs.d/<MyRegistry>:<Port>/client.key`. You do not need to push your certificates with `git` commands.
|
||||||
|
|
||||||
When the Docker Desktop for Windows application starts up, it copies the
|
When the Docker Desktop application starts, it copies the
|
||||||
`~/.docker/certs.d` folder on your Windows system to the `/etc/docker/certs.d`
|
`~/.docker/certs.d` folder on your Windows system to the `/etc/docker/certs.d`
|
||||||
directory on Moby (the Docker fDesktop or Windows virtual machine running on Hyper-V).
|
directory on Moby (the Docker Desktop virtual machine running on Hyper-V).
|
||||||
|
|
||||||
You need to restart Docker Desktop for Windows after making any changes to the keychain
|
You need to restart Docker Desktop after making any changes to the keychain
|
||||||
or to the `~/.docker/certs.d` directory in order for the changes to take effect.
|
or to the `~/.docker/certs.d` directory in order for the changes to take effect.
|
||||||
|
|
||||||
The registry cannot be listed as an _insecure registry_ (see
|
The registry cannot be listed as an _insecure registry_ (see
|
||||||
[Docker Daemon](/docker-for-windows#daemon)). Docker Desktop for Windows ignores
|
[Docker Daemon](/docker-for-windows#daemon)). Docker Desktop ignores
|
||||||
certificates listed under insecure registries, and does not send client
|
certificates listed under insecure registries, and does not send client
|
||||||
certificates. Commands like `docker run` that attempt to pull from the registry
|
certificates. Commands like `docker run` that attempt to pull from the registry
|
||||||
produce error messages on the command line, as well as on the registry.
|
produce error messages on the command line, as well as on the registry.
|
||||||
|
|
@ -239,12 +212,12 @@ To learn more about how to set the client TLS certificate for verification, see
|
||||||
[Verify repository client with certificates](/engine/security/certificates)
|
[Verify repository client with certificates](/engine/security/certificates)
|
||||||
in the Docker Engine topics.
|
in the Docker Engine topics.
|
||||||
|
|
||||||
### Why does Docker Desktop for Windows sometimes lose network connectivity, causing `push` or `pull` commands to fail?
|
### Why does Docker Desktop sometimes lose network connectivity, causing `push` or `pull` commands to fail?
|
||||||
|
|
||||||
Networking is not yet fully stable across network changes and system sleep
|
Networking is not yet fully stable across network changes and system sleep
|
||||||
cycles. Exit and start Docker to restore connectivity.
|
cycles. Quit and start Docker Desktop to restore connectivity.
|
||||||
|
|
||||||
### Can I use VirtualBox alongside Docker 4 Windows?
|
### Can I use VirtualBox alongside Docker Desktop?
|
||||||
|
|
||||||
Unfortunately, VirtualBox (and other hypervisors like VMWare) cannot run when
|
Unfortunately, VirtualBox (and other hypervisors like VMWare) cannot run when
|
||||||
Hyper-V is enabled on Windows.
|
Hyper-V is enabled on Windows.
|
||||||
|
|
@ -252,15 +225,15 @@ Hyper-V is enabled on Windows.
|
||||||
### Can I share local drives and filesystem with my Docker Machine VMs?
|
### Can I share local drives and filesystem with my Docker Machine VMs?
|
||||||
|
|
||||||
No, you cannot share local drives with Docker Machine nodes when using Docker
|
No, you cannot share local drives with Docker Machine nodes when using Docker
|
||||||
Desktop for Windows with Hyper-V. Shared drives can be made available to containers, but
|
Desktop with Hyper-V. Shared drives can be made available to containers, but
|
||||||
Docker Desktop for Windows does not support mounts for nodes you created with
|
Docker Desktop does not support mounts for nodes you created with
|
||||||
`docker-machine`.
|
`docker-machine`.
|
||||||
|
|
||||||
For more about sharing local drives with containers using Docker Desktop for Windows,
|
For more about sharing local drives with containers using Docker Desktop,
|
||||||
see [Shared drives](/docker-for-windows#shared-drives) in the Getting
|
see [Shared drives](/docker-for-windows#shared-drives) in the Getting
|
||||||
Started topic.
|
Started topic.
|
||||||
|
|
||||||
To learn more about using Docker Desktop for Windows and Docker Machine, see
|
To learn more about using Docker Desktop and Docker Machine, see
|
||||||
[What to know before you install](install#what-to-know-before-you-install) in the
|
[What to know before you install](install#what-to-know-before-you-install) in the
|
||||||
Getting Started topic. For more about Docker Machine itself, see
|
Getting Started topic. For more about Docker Machine itself, see
|
||||||
[What is Docker Machine?](/machine/overview#what-is-docker-machine), and the
|
[What is Docker Machine?](/machine/overview#what-is-docker-machine), and the
|
||||||
|
|
@ -268,35 +241,29 @@ Getting Started topic. For more about Docker Machine itself, see
|
||||||
|
|
||||||
## Windows Requirements
|
## Windows Requirements
|
||||||
|
|
||||||
### How do I run Windows containers on Docker Desktop on Windows Server 2016?
|
### How do I run Windows containers on Docker Desktop on Windows Server?
|
||||||
|
|
||||||
See [About Windows containers and Windows Server 2016](/install/windows/docker-ee/#about-docker-ee-containers-and-windows-server).
|
See [About Windows containers and Windows Server](/install/windows/docker-ee/#about-docker-ee-containers-and-windows-server).
|
||||||
|
|
||||||
A full tutorial is available in [docker/labs](https://github.com/docker/labs){: target="_blank" class="_"} at
|
A full tutorial is available in [docker/labs](https://github.com/docker/labs){: target="_blank" class="_"} at
|
||||||
[Getting Started with Windows Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md){: target="_blank" class="_"}.
|
[Getting Started with Windows Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md){: target="_blank" class="_"}.
|
||||||
|
|
||||||
### Why is Windows 10 Home not supported?
|
### Why is Windows 10 Home not supported?
|
||||||
|
|
||||||
Docker Desktop for Windows requires the Hyper-V Windows feature which is not
|
Docker Desktop requires the Hyper-V feature which is not available in the Windows Home edition.
|
||||||
available on Home-edition.
|
|
||||||
|
|
||||||
### Why is Windows 10 required?
|
### Why is Windows 10 required?
|
||||||
|
|
||||||
Docker Desktop for Windows uses Windows Hyper-V. While older Windows versions have
|
Docker Desktop uses the Windows Hyper-V features. While older Windows versions have Hyper-V, their Hyper-V implementations lack features critical for Docker Desktop to work.
|
||||||
Hyper-V, their Hyper-V implementations lack features critical for Docker Desktop for
|
|
||||||
Windows to work.
|
|
||||||
|
|
||||||
### Why does Docker Desktop for Windows fail to start when firewalls or anti-virus software is installed?
|
### Why does Docker Desktop fail to start when firewalls or anti-virus software is installed?
|
||||||
|
|
||||||
Some firewalls and anti-virus software might be incompatible with Hyper-V and
|
Some firewalls and anti-virus software might be incompatible with Hyper-V and
|
||||||
some Windows 10 builds (possibly, the Anniversary Update), which impacts Docker
|
some Windows 10 builds (possibly, the Anniversary Update), which impacts Docker
|
||||||
Desktop for Windows. See details and workarounds in
|
Desktop. See details and workarounds in
|
||||||
[Docker fails to start when firewall or anti-virus software is installed](troubleshoot#docker-fails-to-start-when-firewall-or-anti-virus-software-is-installed)
|
[Docker fails to start when firewall or anti-virus software is installed](troubleshoot#docker-fails-to-start-when-firewall-or-anti-virus-software-is-installed)
|
||||||
in [Troubleshooting](troubleshoot).
|
in [Troubleshooting](troubleshoot).
|
||||||
|
|
||||||
## How do I uninstall Docker Toolbox?
|
## How do I uninstall Docker Toolbox?
|
||||||
|
|
||||||
You might decide that you do not need Toolbox now that you have Docker Desktop for
|
Now that you have Docker Desktop, you might decide that you do not need the legacy Docker Toolbox anymore. For details on how to perform a clean uninstall of Toolbox on Windows, see [How to uninstall Toolbox](/toolbox/toolbox_install_windows#how-to-uninstall-toolbox) in the Toolbox Windows topics.
|
||||||
Windows, and want to uninstall it. For details on how to perform a clean
|
|
||||||
uninstall of Toolbox on Windows, see
|
|
||||||
[How to uninstall Toolbox](/toolbox/toolbox_install_windows#how-to-uninstall-toolbox) in the Toolbox Windows topics.
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 568 B |
|
|
@ -13,12 +13,13 @@ redirect_from:
|
||||||
title: Get started with Docker for Windows
|
title: Get started with Docker for Windows
|
||||||
---
|
---
|
||||||
|
|
||||||
Welcome to Docker Desktop for Windows!
|
Welcome to Docker Desktop!
|
||||||
|
|
||||||
Docker is a full development platform for creating containerized apps, and
|
This page contains information about Docker Desktop Community (Stable and Edge) releases. For information about Docker Desktop Enterprise (DDE) releases, see [Docker Desktop Enterprise](/ee/desktop/).
|
||||||
Docker Desktop for Windows is the best way to get started with Docker _on Windows_.
|
|
||||||
|
|
||||||
> See [Install Docker Desktop for Windows](install.md){: target="_blank" class="_"} for information on system requirements and stable & edge channels.
|
Docker is a full development platform for creating containerized applications. Docker Desktop is the best way to get started with Docker _on Windows_.
|
||||||
|
|
||||||
|
> See [Install Docker Desktop](install.md){: target="_blank" class="_"} for information on system requirements and Stable and Edge channels.
|
||||||
|
|
||||||
## Test your installation
|
## Test your installation
|
||||||
|
|
||||||
|
|
@ -29,7 +30,7 @@ Docker Desktop for Windows is the best way to get started with Docker _on Window
|
||||||
```shell
|
```shell
|
||||||
> docker --version
|
> docker --version
|
||||||
|
|
||||||
Docker version 18.03.0-ce, build 0520e24
|
Docker version 19.03.1
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Pull the [hello-world image](https://hub.docker.com/r/library/hello-world/) from Docker Hub and run a container:
|
3. Pull the [hello-world image](https://hub.docker.com/r/library/hello-world/) from Docker Hub and run a container:
|
||||||
|
|
@ -82,7 +83,7 @@ Docker Desktop for Windows is the best way to get started with Docker _on Window
|
||||||
In this section, we demonstrate the ease and power of Dockerized applications by
|
In this section, we demonstrate the ease and power of Dockerized applications by
|
||||||
running something more complex, such as an OS and a webserver.
|
running something more complex, such as an OS and a webserver.
|
||||||
|
|
||||||
1. Pull an image of the [Ubuntu OS](https://hub.docker.com/r/_/ubuntu/) and run an interactive terminal inside the spawned container:
|
1. Pull an image of the [Ubuntu OS](https://hub.docker.com/r/_/ubuntu/) and run an interactive terminal inside the spawned container:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
> docker run --interactive --tty ubuntu bash
|
> docker run --interactive --tty ubuntu bash
|
||||||
|
|
@ -107,22 +108,23 @@ running something more complex, such as an OS and a webserver.
|
||||||
>
|
>
|
||||||
> Interactive terminals do not work in PowerShell ISE (but they do in PowerShell). See [docker/for-win/issues/223](https://github.com/docker/for-win/issues/223).
|
> Interactive terminals do not work in PowerShell ISE (but they do in PowerShell). See [docker/for-win/issues/223](https://github.com/docker/for-win/issues/223).
|
||||||
|
|
||||||
2. You are in the container. At the root `#` prompt, check the `hostname` of the container:
|
2. You are in the container. At the root `#` prompt, check the `hostname` of the container:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
root@8aea0acb7423:/# hostname
|
root@8aea0acb7423:/# hostname
|
||||||
8aea0acb7423
|
8aea0acb7423
|
||||||
```
|
```
|
||||||
|
|
||||||
Notice that the hostname is assigned as the container ID (and is also used in the prompt).
|
Notice that the hostname is assigned as the container ID (and is also used in the prompt).
|
||||||
|
|
||||||
3. Exit the shell with the `exit` command (which also stops the container):
|
3. Exit the shell with the `exit` command (which also stops the container):
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
root@8aea0acb7423:/# exit
|
root@8aea0acb7423:/# exit
|
||||||
>
|
>
|
||||||
```
|
```
|
||||||
|
|
||||||
4. List containers with the `--all` option (because no containers are running).
|
4. List containers with the `--all` option (because no containers are running).
|
||||||
|
|
||||||
The `hello-world` container (randomly named, `relaxed_sammet`) stopped after displaying its message. The `ubuntu` container (randomly named, `laughing_kowalevski`) stopped when you exited the container.
|
The `hello-world` container (randomly named, `relaxed_sammet`) stopped after displaying its message. The `ubuntu` container (randomly named, `laughing_kowalevski`) stopped when you exited the container.
|
||||||
|
|
||||||
|
|
@ -134,7 +136,7 @@ running something more complex, such as an OS and a webserver.
|
||||||
45f77eb48e78 hello-world "/hello" 3 minutes ago Exited (0) 3 minutes ago relaxed_sammet
|
45f77eb48e78 hello-world "/hello" 3 minutes ago Exited (0) 3 minutes ago relaxed_sammet
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Pull and run a Dockerized [nginx](https://hub.docker.com/_/nginx/) web server that we name, `webserver`:
|
5. Pull and run a Dockerized [nginx](https://hub.docker.com/_/nginx/) web server that we name, `webserver`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
> docker run --detach --publish 80:80 --name webserver nginx
|
> docker run --detach --publish 80:80 --name webserver nginx
|
||||||
|
|
@ -151,11 +153,11 @@ running something more complex, such as an OS and a webserver.
|
||||||
dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f
|
dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Point your web browser at `http://localhost` to display the nginx start page. (You don't need to append `:80` because you specified the default HTTP port in the `docker` command.)
|
6. Point your web browser at `http://localhost` to display the nginx start page. (You don't need to append `:80` because you specified the default HTTP port in the `docker` command.)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
7. List only your _running_ containers:
|
7. List only your _running_ containers:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
> docker container ls
|
> docker container ls
|
||||||
|
|
@ -164,13 +166,13 @@ running something more complex, such as an OS and a webserver.
|
||||||
0e788d8e4dfd nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp webserver
|
0e788d8e4dfd nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp webserver
|
||||||
```
|
```
|
||||||
|
|
||||||
8. Stop the running nginx container by the name we assigned it, `webserver`:
|
8. Stop the running nginx container by the name we assigned it, `webserver`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
> docker container stop webserver
|
> docker container stop webserver
|
||||||
```
|
```
|
||||||
|
|
||||||
9. Remove all three containers by their names -- the latter two names will differ for you:
|
9. Remove all three containers by their names -- the latter two names will differ for you:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
> docker container rm webserver laughing_kowalevski relaxed_sammet
|
> docker container rm webserver laughing_kowalevski relaxed_sammet
|
||||||
|
|
@ -178,19 +180,18 @@ running something more complex, such as an OS and a webserver.
|
||||||
|
|
||||||
## Docker Settings dialog
|
## Docker Settings dialog
|
||||||
|
|
||||||
The **Docker Desktop for Windows menu** is a popup by which you can configure your
|
The **Docker Desktop** menu allows you to configure your Docker settings such as installation, updates, version channels, Docker Hub login,
|
||||||
Docker settings -- installation, updates, version channels, Docker Hub login,
|
|
||||||
and more.
|
and more.
|
||||||
|
|
||||||
This section explains the configuration options accessible from the **Settings** dialog.
|
This section explains the configuration options accessible from the **Settings** dialog.
|
||||||
|
|
||||||
1. Open the Docker Desktop for Windows menu by right-clicking the Docker icon in the Notifications area (or System tray):
|
1. Open the Docker Desktop menu by clicking the Docker icon in the Notifications area (or System tray):
|
||||||
|
|
||||||
{:width="250px"}
|
{:width="250px"}
|
||||||
|
|
||||||
2. Select **Settings...** to open the Settings dialog:
|
2. Select **Settings** to open the Settings dialog:
|
||||||
|
|
||||||
{:width="400px"}
|
{:width="300px"}
|
||||||
|
|
||||||
### General
|
### General
|
||||||
|
|
||||||
|
|
@ -198,23 +199,22 @@ On the **General** tab of the Settings dialog, you can configure when to start a
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
* **Start Docker when you log in** - Automatically start the Docker Desktop for Windows
|
* **Start Docker when you log in** - Automatically start Docker Desktop upon Windows system login.
|
||||||
application upon Windows system login.
|
|
||||||
|
|
||||||
* **Automatically check for updates** - By default, Docker Desktop for Windows
|
* **Automatically check for updates** - By default, Docker Desktop automatically checks for updates and notifies you when an update is available.
|
||||||
automatically checks for updates and notifies you when an update is available.
|
|
||||||
Click **OK** to accept and install updates (or cancel to keep the current
|
Click **OK** to accept and install updates (or cancel to keep the current
|
||||||
version). You can manually update by choosing **Check for Updates** from the
|
version). You can manually update by choosing **Check for Updates** from the
|
||||||
main Docker menu.
|
main Docker menu.
|
||||||
|
|
||||||
* **Send usage statistics** - By default, Docker Desktop for Windows sends diagnostics,
|
* **Send usage statistics** - By default, Docker Desktop sends diagnostics,
|
||||||
crash reports, and usage data. This information helps Docker improve and
|
crash reports, and usage data. This information helps Docker improve and
|
||||||
troubleshoot the application. Uncheck to opt out. Docker may also sometimes
|
troubleshoot the application. Clear the check box to opt out. Docker may periodically prompt you for more information.
|
||||||
prompt you for more information.
|
|
||||||
|
* **Expose daemon on tcp://localhost:2375 without TLS** - Click this option to enable legacy clients to connect to the Docker daemon. You must use this option with caution as exposing the daemon without TLS can result in remote code execution attacks.
|
||||||
|
|
||||||
### Shared drives
|
### Shared drives
|
||||||
|
|
||||||
Share your local drives (volumes) with Docker Desktop for Windows, so that they are
|
Share your local drives (volumes) with Docker Desktop, so that they are
|
||||||
available to your [Linux containers](#switch-between-windows-and-linux-containers).
|
available to your [Linux containers](#switch-between-windows-and-linux-containers).
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
@ -236,11 +236,10 @@ credentials so that you don't need to enter them every time.
|
||||||
>
|
>
|
||||||
* If possible, avoid volume mounts from the Windows host, and instead mount on
|
* If possible, avoid volume mounts from the Windows host, and instead mount on
|
||||||
the Linux VM, or use a [data volume](/engine/tutorials/dockervolumes.md#data-volumes)
|
the Linux VM, or use a [data volume](/engine/tutorials/dockervolumes.md#data-volumes)
|
||||||
(named volume) or [data container](/engine/tutorials/dockervolumes.md#creating-and-mounting-a-data-volume-container).
|
(named volume) or [data container](/engine/tutorials/dockervolumes.md#creating-and-mounting-a-data-volume-container). There are a number of issues with using host-mounted volumes and network paths
|
||||||
There are a number of issues with using host-mounted volumes and network paths
|
|
||||||
for database files. See [Volume mounts from host paths use a nobrl option to override database locking](troubleshoot.md#volume-mounts-from-host-paths-use-a-nobrl-option-to-override-database-locking).
|
for database files. See [Volume mounts from host paths use a nobrl option to override database locking](troubleshoot.md#volume-mounts-from-host-paths-use-a-nobrl-option-to-override-database-locking).
|
||||||
>
|
>
|
||||||
* Docker Desktop for Windows sets permissions to read/write/execute for users, groups and others [0777 or a+rwx](http://permissions-calculator.org/decode/0777/).
|
* Docker Desktop sets permissions to read/write/execute for users, groups and others [0777 or a+rwx](http://permissions-calculator.org/decode/0777/).
|
||||||
This is not configurable. See [Permissions errors on data directories for shared volumes](troubleshoot.md#permissions-errors-on-data-directories-for-shared-volumes).
|
This is not configurable. See [Permissions errors on data directories for shared volumes](troubleshoot.md#permissions-errors-on-data-directories-for-shared-volumes).
|
||||||
>
|
>
|
||||||
* Ensure the domain user has access to shared drives, as described in [Verify domain user has permissions for shared drives](troubleshoot.md#verify-domain-user-has-permissions-for-shared-drives-volumes).
|
* Ensure the domain user has access to shared drives, as described in [Verify domain user has permissions for shared drives](troubleshoot.md#verify-domain-user-has-permissions-for-shared-drives-volumes).
|
||||||
|
|
@ -255,7 +254,7 @@ Shared drives require port 445 to be open between the host machine and the
|
||||||
virtual machine that runs Linux containers. Docker detects if port 445 is closed
|
virtual machine that runs Linux containers. Docker detects if port 445 is closed
|
||||||
and shows the following message when you try to add a shared drive:
|
and shows the following message when you try to add a shared drive:
|
||||||
|
|
||||||

|
{:width="600px"}
|
||||||
|
|
||||||
To share the drive, allow connections between the Windows host machine and the
|
To share the drive, allow connections between the Windows host machine and the
|
||||||
virtual machine in Windows Firewall or your third party firewall software. You
|
virtual machine in Windows Firewall or your third party firewall software. You
|
||||||
|
|
@ -274,11 +273,10 @@ If you run a Docker command from a shell with a volume mount (as shown in the
|
||||||
example below) or kick off a Compose file that includes volume mounts, you get a
|
example below) or kick off a Compose file that includes volume mounts, you get a
|
||||||
popup asking if you want to share the specified drive.
|
popup asking if you want to share the specified drive.
|
||||||
|
|
||||||
You can select to **Share it**, in which case it is added your Docker Desktop for
|
You can select to **Share it**, in which case it is added your Docker Desktop [Shared Drives list](index.md#shared-drives) and available to
|
||||||
Windows [Shared Drives list](index.md#shared-drives) and available to
|
containers. Alternatively, you can opt not to share it by selecting **Cancel**.
|
||||||
containers. Alternatively, you can opt not to share it by hitting Cancel.
|
|
||||||
|
|
||||||

|
{:width="600px"}
|
||||||
|
|
||||||
### Advanced
|
### Advanced
|
||||||
|
|
||||||
|
|
@ -288,11 +286,13 @@ The Linux VM restarts after changing the settings on the Advanced tab. This take
|
||||||
|
|
||||||
* **CPUs** - Change the number of processors assigned to the Linux VM.
|
* **CPUs** - Change the number of processors assigned to the Linux VM.
|
||||||
|
|
||||||
* **Memory** - Change the amount of memory the Docker Desktop for Windows Linux VM uses.
|
* **Memory** - Change the amount of memory the Docker Desktop Linux VM uses.
|
||||||
|
|
||||||
|
* **Swap** - Configure the swap file size.
|
||||||
|
|
||||||
### Network
|
### Network
|
||||||
|
|
||||||
You can configure Docker Desktop for Windows networking to work on a virtual private network (VPN).
|
You can configure Docker Desktop networking to work on a virtual private network (VPN).
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
|
|
@ -300,8 +300,7 @@ You can configure Docker Desktop for Windows networking to work on a virtual pri
|
||||||
|
|
||||||
* **DNS Server** - You can configure the DNS server to use dynamic or static IP addressing.
|
* **DNS Server** - You can configure the DNS server to use dynamic or static IP addressing.
|
||||||
|
|
||||||
> **Note**: Some users reported problems connecting to Docker Hub on Docker Desktop for
|
> **Note**: Some users reported problems connecting to Docker Hub on Docker Desktop Stable version. This would manifest as an error when trying to run
|
||||||
> Windows stable version. This would manifest as an error when trying to run
|
|
||||||
> `docker` commands that pull images from Docker Hub that are not already
|
> `docker` commands that pull images from Docker Hub that are not already
|
||||||
> downloaded, such as a first time run of `docker run hello-world`. If you
|
> downloaded, such as a first time run of `docker run hello-world`. If you
|
||||||
> encounter this, reset the DNS server to use the Google DNS fixed address:
|
> encounter this, reset the DNS server to use the Google DNS fixed address:
|
||||||
|
|
@ -312,7 +311,7 @@ Updating these settings requires a reconfiguration and reboot of the Linux VM.
|
||||||
|
|
||||||
### Proxies
|
### Proxies
|
||||||
|
|
||||||
Docker Desktop for Windows lets you configure HTTP/HTTPS Proxy Settings and
|
Docker Desktop lets you configure HTTP/HTTPS Proxy Settings and
|
||||||
automatically propagates these to Docker and to your containers. For example,
|
automatically propagates these to Docker and to your containers. For example,
|
||||||
if you set your proxy settings to `http://proxy.example.com`, Docker uses this
|
if you set your proxy settings to `http://proxy.example.com`, Docker uses this
|
||||||
proxy when pulling containers.
|
proxy when pulling containers.
|
||||||
|
|
@ -339,29 +338,22 @@ automatically to pick up the new settings. If you have containers that you wish
|
||||||
to keep running across restarts, you should consider using
|
to keep running across restarts, you should consider using
|
||||||
[restart policies](/engine/reference/run/#restart-policies-restart).
|
[restart policies](/engine/reference/run/#restart-policies-restart).
|
||||||
|
|
||||||
<p id="daemon-experimental-mode" />
|
|
||||||
### Daemon
|
### Daemon
|
||||||
|
|
||||||
You can configure the Docker daemon to hone how your containers run.
|
You can configure the Docker daemon to hone how your containers run.
|
||||||
**Advanced mode** lets you edit the JSON directly. **Basic mode** lets you
|
**Advanced mode** lets you edit the JSON directly. **Basic mode** lets you
|
||||||
configure the more common daemon options with interactive settings (and also JSON).
|
configure the common daemon options with interactive settings.
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
#### Experimental mode
|
#### Experimental features
|
||||||
|
|
||||||
Both Docker Desktop for Windows Stable and Edge releases have the experimental version
|
Docker Desktop Edge releases have the experimental version
|
||||||
of Docker Engine enabled, described in the [Docker Experimental Features README](https://github.com/docker/cli/blob/master/experimental/README.md) on
|
of Docker Engine enabled by default, described in the [Docker Experimental Features README](https://github.com/docker/cli/blob/master/experimental/README.md) on GitHub.
|
||||||
GitHub.
|
|
||||||
|
|
||||||
Experimental features are not appropriate for production environments or
|
{% include experimental.md %}
|
||||||
workloads. They are meant to be sandbox experiments for new ideas. Some
|
|
||||||
experimental features may become incorporated into upcoming stable releases, but
|
|
||||||
others may be modified or pulled from subsequent Edge releases, and never
|
|
||||||
released on Stable.
|
|
||||||
|
|
||||||
On both Edge and Stable releases, you can toggle **experimental mode** on and
|
On both Edge and Stable releases, you can toggle the **Experimental features** on and off. If you toggle it off, Docker Desktop uses the current generally
|
||||||
off. If you toggle it off, Docker Desktop for Windows uses the current generally
|
|
||||||
available release of Docker Engine.
|
available release of Docker Engine.
|
||||||
|
|
||||||
Run `docker version` to see if you are in Experimental mode. Experimental mode
|
Run `docker version` to see if you are in Experimental mode. Experimental mode
|
||||||
|
|
@ -371,38 +363,45 @@ running in experimental mode, as shown here:
|
||||||
```shell
|
```shell
|
||||||
> docker version
|
> docker version
|
||||||
|
|
||||||
Client:
|
Client: Docker Engine - Community
|
||||||
Version: 18.03.0-ce
|
Version: 19.03.1
|
||||||
API version: 1.37
|
API version: 1.40
|
||||||
Go version: go1.9.4
|
Go version: go1.12.5
|
||||||
Git commit: 0520e24
|
Git commit: 74b1e89
|
||||||
Built: Wed Mar 21 23:06:28 2018
|
Built: Thu Jul 25 21:17:08 2019
|
||||||
OS/Arch: windows/amd64
|
OS/Arch: windows/amd64
|
||||||
Experimental: true
|
Experimental: true
|
||||||
Orchestrator: swarm
|
|
||||||
|
|
||||||
Server:
|
Server: Docker Engine - Community
|
||||||
Engine:
|
Engine:
|
||||||
Version: 18.03.0-ce
|
Version: 19.03.1
|
||||||
API version: 1.37 (minimum version 1.24)
|
API version: 1.40 (minimum version 1.12)
|
||||||
Go version: go1.9.4
|
Go version: go1.12.5
|
||||||
Git commit: 0520e24
|
Git commit: 74b1e89
|
||||||
Built: Wed Mar 21 23:21:06 2018
|
Built: Thu Jul 25 21:17:52 2019
|
||||||
OS/Arch: windows/amd64
|
OS/Arch: linux/amd64
|
||||||
Experimental: true
|
Experimental: true
|
||||||
|
containerd:
|
||||||
|
Version: v1.2.6
|
||||||
|
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
|
||||||
|
runc:
|
||||||
|
Version: 1.0.0-rc8
|
||||||
|
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
|
||||||
|
docker-init:
|
||||||
|
Version: 0.18.0
|
||||||
|
GitCommit: fec3683
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Custom registries
|
#### Insecure registries
|
||||||
|
|
||||||
You can set up your own [registries](/registry/introduction.md) on the **Basic**
|
You can set up your own [registries](/registry/introduction.md) on the **Basic**
|
||||||
Daemon settings.
|
Daemon settings.
|
||||||
|
|
||||||
Normally, you store public or private images in [Docker Hub](https://hub.docker.com/)
|
Normally, you store public or private images in [Docker Hub](https://hub.docker.com/)
|
||||||
and [Docker Trusted Registry](/datacenter/dtr/2.4/guides/index.md). Here, you
|
and [Docker Trusted Registry](/datacenter/dtr/2.4/guides/index.md). Here, you
|
||||||
can use Docker to set up your own insecure [registry](/registry/introduction.md).
|
can use Docker to set up your own insecure [registry](/registry/introduction.md). Simply add URLs for insecure registries and registry mirrors on which to host your images.
|
||||||
Simply add URLs for insecure registries and registry mirrors on which to host your images.
|
|
||||||
|
|
||||||
See [How do I add custom CA certificates?](faqs.md#how-do-i-add-custom-ca-certificates)
|
For more information, see [How do I add custom CA certificates?](faqs.md#how-do-i-add-custom-ca-certificates)
|
||||||
and [How do I add client certificates?](faqs.md#how-do-i-add-client-certificates) in the FAQs.
|
and [How do I add client certificates?](faqs.md#how-do-i-add-client-certificates) in the FAQs.
|
||||||
|
|
||||||
#### Daemon configuration file
|
#### Daemon configuration file
|
||||||
|
|
@ -424,15 +423,10 @@ For a full list of options on the Docker daemon, see [daemon](/engine/reference/
|
||||||
|
|
||||||
### Kubernetes
|
### Kubernetes
|
||||||
|
|
||||||
[Kubernetes on Docker Desktop for Windows](/docker-for-windows/kubernetes/){: target="_blank" class="_"}
|
Docker Desktop includes a standalone Kubernetes server that runs on your Windows host, so that you can test deploying your Docker workloads on Kubernetes.
|
||||||
is available in
|
|
||||||
[18.02 Edge (win50)](/docker-for-windows/edge-release-notes/#docker-community-edition-18020-ce-rc1-win50-2018-01-26){: target="_blank" class="_"} and higher, and in [18.06 Stable (win70)](/docker-for-windows/edge-release-notes/#docker-community-edition-18060-ce-win70-2018-07-25) and higher.
|
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
From Docker Desktop for Windows 18.02 CE Edge and 18.06 CE Stable a standalone Kubernetes server is included that runs on your Windows host, so that you can test deploying your
|
|
||||||
Docker workloads on Kubernetes.
|
|
||||||
|
|
||||||
The Kubernetes client command, `kubectl`, is included and configured to connect
|
The Kubernetes client command, `kubectl`, is included and configured to connect
|
||||||
to the local Kubernetes server. If you have `kubectl` already installed and
|
to the local Kubernetes server. If you have `kubectl` already installed and
|
||||||
pointing to some other environment, such as `minikube` or a GKE cluster, be sure
|
pointing to some other environment, such as `minikube` or a GKE cluster, be sure
|
||||||
|
|
@ -443,45 +437,47 @@ to change context so that `kubectl` is pointing to `docker-for-desktop`:
|
||||||
> kubectl config use-context docker-for-desktop
|
> kubectl config use-context docker-for-desktop
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also change it through the Docker Desktop for Windows menu:
|
You can also change it through the Docker Desktop menu:
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="450px"}
|
||||||
|
|
||||||
If you installed `kubectl` by another method, and
|
If you installed `kubectl` by another method, and
|
||||||
experience conflicts, remove it.
|
experience conflicts, remove it.
|
||||||
|
|
||||||
- To enable Kubernetes support and install a standalone instance of Kubernetes
|
- To enable Kubernetes support and install a standalone instance of Kubernetes
|
||||||
running as a Docker container, select **Enable Kubernetes** and click the
|
running as a Docker container, select **Enable Kubernetes** and click the
|
||||||
**Apply and restart** button.
|
**Apply** button. This instantiates images required to run the Kubernetes server as containers, and installs the `kubectl.exe` command in the path.
|
||||||
|
|
||||||
An Internet connection is required. Images required to run the Kubernetes
|
|
||||||
server are downloaded and instantiated as containers, and the
|
|
||||||
> Program Files\Docker\Docker\Resources\bin\kubectl.exe` command is installed.
|
|
||||||
|
|
||||||
- By default, Kubernetes containers are hidden from commands like `docker
|
- By default, Kubernetes containers are hidden from commands like `docker
|
||||||
service ls`, because managing them manually is not supported. To make them
|
service ls`, because managing them manually is not supported. To make them
|
||||||
visible, select **Show system containers (advanced)** and click **Apply and restart**.
|
visible, select **Show system containers (advanced)** and click **Apply**.
|
||||||
Most users do not need this option.
|
Most users do not need this option.
|
||||||
|
|
||||||
- To disable Kubernetes support at any time, deselect **Enable Kubernetes**.
|
- To disable Kubernetes support at any time, deselect **Enable Kubernetes**.
|
||||||
The Kubernetes containers are stopped and removed, and the
|
The Kubernetes containers are stopped and removed, and the
|
||||||
`/usr/local/bin/kubectl` command is removed.
|
`/usr/local/bin/kubectl` command is removed.
|
||||||
|
|
||||||
For more about using the Kubernetes integration with Docker Desktop for Windows,
|
For more information on using the Kubernetes integration with Docker Desktop, see [Deploy on Kubernetes](kubernetes.md).
|
||||||
see [Deploy on Kubernetes](kubernetes.md).
|
|
||||||
|
|
||||||
### Reset
|
### Reset
|
||||||
|
|
||||||
On the Reset tab, you can restart Docker or reset its configuration.
|
> Reset and Restart options
|
||||||
|
>
|
||||||
|
> On Edge releases, the **Restart Docker Desktop**, **Reset Kubernetes Cluster**, and **Reset to factory defaults** options are available on the **Troubleshoot** menu.
|
||||||
|
|
||||||
|
On Stable releases, you can restart Docker or reset its configuration using the Reset tab.
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
* **Restart Docker** - Shuts down and restarts the Docker application.
|
|
||||||
|
* **Restart Docker Desktop** - Shuts down and restarts the Docker application.
|
||||||
|
|
||||||
|
* **Reset Kubernetes Cluster** - Deletes all stacks and Kubernetes resources.
|
||||||
|
|
||||||
* **Reset to factory defaults** - Resets Docker to factory defaults. This is
|
* **Reset to factory defaults** - Resets Docker to factory defaults. This is
|
||||||
useful in cases where Docker stops working or becomes unresponsive.
|
useful in cases where Docker stops working or becomes unresponsive.
|
||||||
|
|
||||||
### Diagnose & feedback
|
### Troubleshoot
|
||||||
|
|
||||||
Visit our [Logs and Troubleshooting](troubleshoot.md) guide for more details.
|
Visit our [Logs and Troubleshooting](troubleshoot.md) guide for more details.
|
||||||
|
|
||||||
|
|
@ -489,18 +485,18 @@ Log on to our [Docker Desktop for Windows forum](https://forums.docker.com/c/doc
|
||||||
|
|
||||||
Log on to [Docker Desktop for Windows issues on GitHub](https://github.com/docker/for-win/issues) to report bugs or problems and review community reported issues.
|
Log on to [Docker Desktop for Windows issues on GitHub](https://github.com/docker/for-win/issues) to report bugs or problems and review community reported issues.
|
||||||
|
|
||||||
To give feedback on the documentation or update it yourself, use the Feedback options at the bottom of each docs page.
|
For information about providing feedback on the documentation or update it yourself, see [Contribute to documentation](/opensource/).
|
||||||
|
|
||||||
## Switch between Windows and Linux containers
|
## Switch between Windows and Linux containers
|
||||||
|
|
||||||
From the Docker Desktop for Windows menu, you can toggle which daemon (Linux or Windows)
|
From the Docker Desktop menu, you can toggle which daemon (Linux or Windows)
|
||||||
the Docker CLI talks to. Select **Switch to Windows containers** to use Windows
|
the Docker CLI talks to. Select **Switch to Windows containers** to use Windows
|
||||||
containers, or select **Switch to Linux containers** to use Linux containers
|
containers, or select **Switch to Linux containers** to use Linux containers
|
||||||
(the default).
|
(the default).
|
||||||
|
|
||||||
{:width="400px"}
|
{:width="300px"}
|
||||||
|
|
||||||
For more information on Windows containers, refer to this documentation:
|
For more information on Windows containers, refer to the following documentation:
|
||||||
|
|
||||||
- Microsoft documentation on [Windows containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/index).
|
- Microsoft documentation on [Windows containers](https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/index).
|
||||||
|
|
||||||
|
|
@ -512,44 +508,41 @@ For more information on Windows containers, refer to this documentation:
|
||||||
application with Windows containers. The MusicStore is a standard .NET application and,
|
application with Windows containers. The MusicStore is a standard .NET application and,
|
||||||
[forked here to use containers](https://github.com/friism/MusicStore), is a good example of a multi-container application.
|
[forked here to use containers](https://github.com/friism/MusicStore), is a good example of a multi-container application.
|
||||||
|
|
||||||
- To understand how to connect to Windows containers from the local host, see:
|
- To understand how to connect to Windows containers from the local host, see
|
||||||
[Limitations of Windows containers for `localhost` and published ports](troubleshoot.md#limitations-of-windows-containers-for-localhost-and-published-ports)
|
[Limitations of Windows containers for `localhost` and published ports](troubleshoot.md#limitations-of-windows-containers-for-localhost-and-published-ports)
|
||||||
|
|
||||||
> Settings dialog changes with Windows containers
|
> Settings dialog changes with Windows containers
|
||||||
>
|
>
|
||||||
> When you switch to Windows containers, the Settings dialog only shows those tabs that are active and apply to your Windows containers:
|
> When you switch to Windows containers, the Settings dialog only shows those tabs that are active and apply to your Windows containers:
|
||||||
>
|
>
|
||||||
|
|
||||||
* [General](#general)
|
* [General](#general)
|
||||||
* [Proxies](#proxies)
|
* [Proxies](#proxies)
|
||||||
* [Docker daemon](#docker-daemon)
|
* [Daemon](#docker-daemon)
|
||||||
* [Diagnose and Feedback](#diagnose-and-feedback)
|
|
||||||
* [Reset](#reset)
|
* [Reset](#reset)
|
||||||
>
|
|
||||||
If you set proxies or daemon configuration in Windows containers mode, these
|
If you set proxies or daemon configuration in Windows containers mode, these
|
||||||
apply only on Windows containers. If you switch back to Linux containers,
|
apply only on Windows containers. If you switch back to Linux containers,
|
||||||
proxies and daemon configurations return to what you had set for Linux
|
proxies and daemon configurations return to what you had set for Linux
|
||||||
containers. Your Windows container settings are retained and become available
|
containers. Your Windows container settings are retained and become available
|
||||||
again when you switch back.
|
again when you switch back.
|
||||||
>
|
|
||||||
|
|
||||||
## Adding TLS certificates
|
|
||||||
|
|
||||||
To your Docker daemon, you can add trusted **Certificate Authorities (CAs)**, to verify registry server
|
|
||||||
certificates, and **client certificates**, to authenticate to registries.
|
|
||||||
|
|
||||||
See [How do I add custom CA certificates?](faqs.md#how-do-i-add-custom-ca-certificates)
|
|
||||||
and [How do I add client certificates?](faqs.md#how-do-i-add-client-certificates)
|
|
||||||
in the FAQs.
|
|
||||||
|
|
||||||
## Docker Hub
|
## Docker Hub
|
||||||
|
|
||||||
Select **Sign in /Create Docker ID** from the Docker Desktop for Windows menu to access your [Docker Hub](https://hub.docker.com/){: target="_blank" clas="_" } account. Once logged in, you can access your Docker Hub repositories directly from the Docker Desktop for Windows menu.
|
Select **Sign in /Create Docker ID** from the Docker Desktop menu to access your [Docker Hub](https://hub.docker.com/){: target="_blank" class="_" } account. Once logged in, you can access your Docker Hub repositories directly from the Docker Desktop menu.
|
||||||
|
|
||||||
See these [Docker Hub topics](/docker-hub/index.md){: target="_blank" class="_" } to learn more:
|
For more information, refer to the following [Docker Hub topics](/docker-hub/index.md){: target="_blank" class="_" }:
|
||||||
|
|
||||||
* [Organizations and Teams in Docker Hub](/docker-hub/orgs.md){: target="_blank" class="_" }
|
* [Organizations and Teams in Docker Hub](/docker-hub/orgs.md){: target="_blank" class="_" }
|
||||||
* [Builds and Images](/docker-cloud/builds/index.md){: target="_blank" class="_" }
|
* [Builds and Images](/docker-cloud/builds/index.md){: target="_blank" class="_" }
|
||||||
|
|
||||||
|
## Adding TLS certificates
|
||||||
|
|
||||||
|
You can add trusted **Certificate Authorities (CAs)** to your Docker daemon to verify registry server
|
||||||
|
certificates, and **client certificates**, to authenticate to registries. For more information, see [How do I add custom CA certificates?](faqs.md#how-do-i-add-custom-ca-certificates)
|
||||||
|
and [How do I add client certificates?](faqs.md#how-do-i-add-client-certificates)
|
||||||
|
in the FAQs.
|
||||||
|
|
||||||
## Where to go next
|
## Where to go next
|
||||||
|
|
||||||
* Try out the walkthrough at [Get Started](/get-started/){: target="_blank" class="_"}.
|
* Try out the walkthrough at [Get Started](/get-started/){: target="_blank" class="_"}.
|
||||||
|
|
|
||||||
|
|
@ -1,52 +1,51 @@
|
||||||
---
|
---
|
||||||
description: How to install Docker Desktop for Windows
|
description: How to install Docker Desktop for Windows
|
||||||
keywords: windows, beta, edge, alpha, install, download
|
keywords: windows, beta, edge, alpha, install, download
|
||||||
title: Install Docker Desktop for Windows
|
title: Install Docker Desktop on Windows
|
||||||
---
|
---
|
||||||
|
|
||||||
Docker Desktop for Windows is the [Community Edition
|
Docker Desktop for Windows is the [Community](https://www.docker.com/community-edition) version of Docker for Microsoft Windows.
|
||||||
(CE)](https://www.docker.com/community-edition) of Docker for Microsoft Windows.
|
You can download Docker Desktop for Windows from Docker Hub.
|
||||||
To download Docker Desktop for Windows, head to Docker Hub.
|
|
||||||
|
|
||||||
[Download from Docker
|
[Download from Docker
|
||||||
Hub](https://hub.docker.com/?overlay=onboarding){:
|
Hub](https://hub.docker.com/?overlay=onboarding){:
|
||||||
.button .outline-btn}
|
.button .outline-btn}
|
||||||
|
|
||||||
## What to know before you install
|
## What to know before you install
|
||||||
|
|
||||||
* **README FIRST for Docker Toolbox and Docker Machine users**: Docker Desktop for
|
### System Requirements
|
||||||
Windows requires Microsoft Hyper-V to run. The Docker Desktop for Windows installer
|
|
||||||
enables Hyper-V for you, if needed, and restarts your machine. After Hyper-V is
|
|
||||||
enabled, VirtualBox no longer works, but any VirtualBox VM images remain.
|
|
||||||
VirtualBox VMs created with `docker-machine` (including the `default` one
|
|
||||||
typically created during Toolbox install) no longer start. These VMs cannot be
|
|
||||||
used side-by-side with Docker Desktop for Windows. However, you can still use
|
|
||||||
`docker-machine` to manage remote VMs.
|
|
||||||
|
|
||||||
* **System Requirements**:
|
- Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later).
|
||||||
- Windows 10 64bit: Pro, Enterprise or Education (Build 15063 or later).
|
- Hyper-V and Containers Windows features must be enabled.
|
||||||
- Virtualization is enabled in BIOS. Typically, virtualization is enabled by
|
- The following hardware prerequisites are required to successfully run Client
|
||||||
default. This is different from having Hyper-V enabled. For more detail see
|
Hyper-V on Windows 10:
|
||||||
[Virtualization must be
|
|
||||||
enabled](troubleshoot.md#virtualization-must-be-enabled) in Troubleshooting.
|
|
||||||
- CPU SLAT-capable feature.
|
|
||||||
- At least 4GB of RAM.
|
|
||||||
|
|
||||||
> **Note**: If your system does not meet the requirements to run Docker Desktop for
|
- 64 bit processor with [Second Level Address Translation (SLAT)](http://en.wikipedia.org/wiki/Second_Level_Address_Translation)
|
||||||
> Windows, you can install [Docker Toolbox](/toolbox/overview.md), which uses
|
- 4GB system RAM
|
||||||
> Oracle Virtual Box instead of Hyper-V.
|
- BIOS-level hardware virtualization support must be enabled in the
|
||||||
|
BIOS settings. For more information, see
|
||||||
|
[Virtualization](troubleshoot.md#virtualization-must-be-enabled).
|
||||||
|
|
||||||
* **What the Docker Desktop for Windows install includes**: The installation provides
|
> **Note:** Docker supports Docker Desktop on Windows based on Microsoft’s support lifecycle for Windows 10 operating system. For more information, see the [Windows lifecycle fact sheet](https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet).
|
||||||
[Docker Engine](/engine/userguide/), Docker CLI client, [Docker
|
|
||||||
Compose](/compose/overview.md), [Docker Machine](/machine/overview.md), and
|
**README for Docker Toolbox and Docker Machine users**: Microsoft Hyper-V is required to run Docker Desktop. The Docker Desktop Windows installer enables Hyper-V if required, and restarts your machine. When Hyper-V is enabled, VirtualBox no longer works. However, any existing VirtualBox VM images are retained.
|
||||||
[Kitematic](/kitematic/userguide.md).
|
|
||||||
* Containers and images created with Docker Desktop for Windows are shared between all
|
VirtualBox VMs created with `docker-machine` (including the `default` one
|
||||||
user accounts on machines where it is installed. This is because all Windows
|
typically created during Toolbox install) no longer start. These VMs cannot be
|
||||||
accounts use the same VM to build and run containers.
|
used side-by-side with Docker Desktop. However, you can still use
|
||||||
* Nested virtualization scenarios, such as running Docker Desktop for Windows on a
|
`docker-machine` to manage remote VMs.
|
||||||
VMWare or Parallels instance might work, but there are no guarantees. For
|
|
||||||
more information, see [Running Docker Desktop for Windows in nested virtualization
|
### What's included in the installer
|
||||||
scenarios](troubleshoot.md#running-docker-desktop-for-windows-in-nested-virtualization-scenarios)
|
|
||||||
|
The Docker Desktop installation includes [Docker Engine](/engine/userguide/), Docker CLI client, [Docker Compose](/compose/overview.md), [Docker Machine](/machine/overview.md), and [Kitematic](/kitematic/userguide.md).
|
||||||
|
|
||||||
|
Containers and images created with Docker Desktop are shared between all
|
||||||
|
user accounts on machines where it is installed. This is because all Windows
|
||||||
|
accounts use the same VM to build and run containers.
|
||||||
|
|
||||||
|
Nested virtualization scenarios, such as running Docker Desktop on a
|
||||||
|
VMWare or Parallels instance might work, but there are no guarantees. For
|
||||||
|
more information, see [Running Docker Desktop in nested virtualization scenarios](troubleshoot.md#running-docker-desktop-for-windows-in-nested-virtualization-scenarios).
|
||||||
|
|
||||||
**Note**: Refer to the [Docker compatibility matrix](https://success.docker.com/article/compatibility-matrix) for complete Docker compatibility information with Windows Server.
|
**Note**: Refer to the [Docker compatibility matrix](https://success.docker.com/article/compatibility-matrix) for complete Docker compatibility information with Windows Server.
|
||||||
|
|
||||||
|
|
@ -56,17 +55,15 @@ Looking for information on using Windows containers?
|
||||||
|
|
||||||
* [Switch between Windows and Linux
|
* [Switch between Windows and Linux
|
||||||
containers](/docker-for-windows/index.md#switch-between-windows-and-linux-containers)
|
containers](/docker-for-windows/index.md#switch-between-windows-and-linux-containers)
|
||||||
describes the Linux / Windows containers toggle in Docker Desktop for Windows and
|
describes how you can toggle between Linux and Windows containers in Docker Desktop and points you to the tutorial mentioned above.
|
||||||
points you to the tutorial mentioned above.
|
|
||||||
* [Getting Started with Windows Containers
|
* [Getting Started with Windows Containers
|
||||||
(Lab)](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md)
|
(Lab)](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md)
|
||||||
provides a tutorial on how to set up and run Windows containers on Windows 10
|
provides a tutorial on how to set up and run Windows containers on Windows 10, Windows Server 2016 and Windows Server 2019. It shows you how to use a MusicStore application
|
||||||
or with Windows Server 2016. It shows you how to use a MusicStore application
|
|
||||||
with Windows containers.
|
with Windows containers.
|
||||||
* Docker Container Platform for Windows Server 2016 [articles and blog
|
* Docker Container Platform for Windows [articles and blog
|
||||||
posts](https://www.docker.com/microsoft/) on the Docker website
|
posts](https://www.docker.com/microsoft/) on the Docker website.
|
||||||
|
|
||||||
## Install Docker Desktop for Windows desktop app
|
## Install Docker Desktop on Windows
|
||||||
|
|
||||||
1. Double-click **Docker Desktop Installer.exe** to run the installer.
|
1. Double-click **Docker Desktop Installer.exe** to run the installer.
|
||||||
|
|
||||||
|
|
@ -75,41 +72,35 @@ Looking for information on using Windows containers?
|
||||||
It typically downloads to your `Downloads` folder, or you can run it from
|
It typically downloads to your `Downloads` folder, or you can run it from
|
||||||
the recent downloads bar at the bottom of your web browser.
|
the recent downloads bar at the bottom of your web browser.
|
||||||
|
|
||||||
2. Follow the install wizard to accept the license, authorize the installer, and
|
2. Follow the instructions on the installation wizard to accept the license, authorize the installer, and proceed with the install.
|
||||||
proceed with the install.
|
|
||||||
|
|
||||||
You are asked to authorize `Docker.app` with your system password during the
|
When prompted, authorize the Docker Desktop Installer with your system password during the
|
||||||
install process. Privileged access is needed to install networking
|
install process. Privileged access is needed to install networking
|
||||||
components, links to the Docker apps, and manage the Hyper-V VMs.
|
components, links to the Docker apps, and manage the Hyper-V VMs.
|
||||||
|
|
||||||
3. Click **Finish** on the setup complete dialog to launch Docker.
|
3. Click **Finish** on the setup complete dialog and launch the Docker Desktop application.
|
||||||
|
|
||||||
## Start Docker Desktop for Windows
|
## Start Docker Desktop
|
||||||
|
|
||||||
Docker does not start automatically after installation. To start it, search for
|
Docker Desktop does not start automatically after installation. To start Docker Desktop, search for Docker, and select **Docker Desktop** in the search results.
|
||||||
Docker, select **Docker Desktop for Windows** in the search results, and click it (or
|
|
||||||
hit Enter).
|
|
||||||
|
|
||||||
{:width="400px"}
|
{:width="400px"}
|
||||||
|
|
||||||
When the whale in the status bar stays steady, Docker is up-and-running, and
|
When the whale icon in the status bar stays steady, Docker Desktop is up-and-running, and is accessible from any terminal window.
|
||||||
accessible from any terminal window.
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
If the whale is hidden in the Notifications area, click the up arrow on the
|
If the whale icon is hidden in the Notifications area, click the up arrow on the
|
||||||
taskbar to show it. To learn more, see [Docker
|
taskbar to show it. To learn more, see [Docker Settings](/docker-for-windows/index.md#docker-settings-dialog).
|
||||||
Settings](/docker-for-windows/index.md#docker-settings-dialog).
|
|
||||||
|
|
||||||
If you just installed the app, you also get a popup success message with
|
After installing the Docker Desktop app, you also get a pop-up success message with
|
||||||
suggested next steps, and a link to this documentation.
|
suggested next steps, and a link to this documentation.
|
||||||
|
|
||||||
{:width="400px"}
|
{:width="400px"}
|
||||||
|
|
||||||
When initialization is complete, select **About Docker** from the Notifications
|
When initialization is complete, click the whale icon in the Notifications area and select **About Docker Desktop** to verify that you have the latest version.
|
||||||
area icon to verify that you have the latest version.
|
|
||||||
|
|
||||||
Congratulations! You are up and running with Docker Desktop for Windows.
|
Congratulations! You are successfully running Docker Desktop on Windows.
|
||||||
|
|
||||||
## Where to go next
|
## Where to go next
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,15 +5,15 @@ title: Networking features in Docker Desktop for Windows
|
||||||
---
|
---
|
||||||
{% assign Arch = 'Windows' %}
|
{% assign Arch = 'Windows' %}
|
||||||
|
|
||||||
Docker Desktop for {{Arch}} provides several networking features to make it easier to
|
Docker Desktop provides several networking features to make it easier to
|
||||||
use.
|
use.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
### VPN Passthrough
|
### VPN Passthrough
|
||||||
|
|
||||||
Docker Desktop for {{Arch}}'s networking can work when attached to a VPN. To do this,
|
Docker Desktop networking can work when attached to a VPN. To do this,
|
||||||
Docker Desktop for {{Arch}} intercepts traffic from the containers and injects it into
|
Docker Desktop intercepts traffic from the containers and injects it into
|
||||||
{{Arch}} as if it originated from the Docker application.
|
{{Arch}} as if it originated from the Docker application.
|
||||||
|
|
||||||
### Port Mapping
|
### Port Mapping
|
||||||
|
|
@ -24,7 +24,7 @@ When you run a container with the `-p` argument, for example:
|
||||||
$ docker run -p 80:80 -d nginx
|
$ docker run -p 80:80 -d nginx
|
||||||
```
|
```
|
||||||
|
|
||||||
Docker Desktop for {{Arch}} makes whatever is running on port 80 in the container (in
|
Docker Desktop makes whatever is running on port 80 in the container (in
|
||||||
this case, `nginx`) available on port 80 of `localhost`. In this example, the
|
this case, `nginx`) available on port 80 of `localhost`. In this example, the
|
||||||
host and container ports are the same. What if you need to specify a different
|
host and container ports are the same. What if you need to specify a different
|
||||||
host port? If, for example, you already have something running on port 80 of
|
host port? If, for example, you already have something running on port 80 of
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ title: Open source components and licensing
|
||||||
notoc: true
|
notoc: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Docker Desktop Editions are built using open source software. For details on the
|
Docker Desktop is built using open source software. For information about the
|
||||||
licensing, choose {: .inline}
|
licensing, choose {: .inline}
|
||||||
→ **About** from within the application, then click **Acknowledgements**.
|
→ **About Docker Desktop** and then **Acknowledgements**.
|
||||||
|
|
||||||
Docker Desktop Editions distribute some components that are licensed under the
|
Docker Desktop distributes some components that are licensed under the
|
||||||
GNU General Public License. You can download the source for these components
|
GNU General Public License. You can download the source for these components
|
||||||
[here](https://download.docker.com/opensource/License.tar.gz).
|
[here](https://download.docker.com/opensource/License.tar.gz).
|
||||||
|
|
|
||||||
|
|
@ -7,43 +7,38 @@ redirect_from:
|
||||||
title: Logs and troubleshooting
|
title: Logs and troubleshooting
|
||||||
---
|
---
|
||||||
|
|
||||||
Here is information about how to diagnose and troubleshoot problems, send logs
|
This page contains information on how to diagnose and troubleshoot problems, send logs and communicate with the Docker Desktop team, use our forums and Knowledge Hub, browse and log issues on GitHub, and find workarounds for known problems.
|
||||||
and communicate with the Docker Desktop for Windows team, use our forums and Knowledge
|
|
||||||
Hub, browse and log issues on GitHub, and find workarounds for known problems.
|
|
||||||
|
|
||||||
## Docker Knowledge Hub
|
## Docker Knowledge Hub
|
||||||
|
|
||||||
**Looking for help with Docker Desktop for Windows?** Check out the [Docker Knowledge
|
**Looking for help with Docker Desktop for Windows?** Check out [Docker Success Center](http://success.docker.com/q) for knowledge base articles, FAQs, and
|
||||||
Hub](http://success.docker.com/q) for knowledge base articles, FAQs, and
|
|
||||||
technical support for various subscription levels.
|
technical support for various subscription levels.
|
||||||
|
|
||||||
## Diagnose problems, send feedack, and create GitHub issues
|
## Diagnose problems, send feedback, and create GitHub issues
|
||||||
|
|
||||||
### In-app diagnostics
|
### In-app diagnostics
|
||||||
|
|
||||||
If you encounter problems for which you do not find solutions in this
|
If you experience issues for which you do not find solutions in this
|
||||||
documentation, on [Docker Desktop for Windows issues on
|
documentation, on [Docker Desktop for Windows issues on
|
||||||
GitHub](https://github.com/docker/for-win/issues), or the [Docker Desktop for Windows
|
GitHub](https://github.com/docker/for-win/issues), or the [Docker Desktop for Windows
|
||||||
forum](https://forums.docker.com/c/docker-for-windows), we can help you
|
forum](https://forums.docker.com/c/docker-for-windows), we can help you
|
||||||
troubleshoot the log data.
|
troubleshoot the log data.
|
||||||
|
|
||||||
Choose {: .inline} → **Diagnose & Feedback**
|
Choose {: .inline} > **Troubleshoot**
|
||||||
from the menu bar.
|
from the menu.
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
Once the **Diagnose & Feedback** window is opened, it will start to collect the
|
When the **Diagnose & Feedback** window initiated, it starts collecting diagnostics. When the diagnostics are available, you can upload them and obtain a **Diagnostic ID**, which must be provided when communicating with the Docker
|
||||||
dignostics. When the diagnostics are available, you can upload them and obtain a
|
team. For more information on our policy regarding personal data, see
|
||||||
**Diagnostic ID**, which must be provided when communicating with the Docker
|
|
||||||
team. For more information on our policy regarding personal data you can read
|
|
||||||
[how is personal data handled in Docker
|
[how is personal data handled in Docker
|
||||||
Desktop](https://docs.docker.com/docker-for-mac/faqs/#how-is-personal-data-handled-in-docker-desktop).
|
Desktop](https://docs.docker.com/docker-for-mac/faqs/#how-is-personal-data-handled-in-docker-desktop).
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
If you click on **Report an issue**, this opens [Docker Desktop for Windows issues on
|
If you click on **Report an issue**, it opens [Docker Desktop for Windows issues on
|
||||||
GitHub](https://github.com/docker/for-win/issues/) in your web browser in a
|
GitHub](https://github.com/docker/for-win/issues/) in your web browser in a
|
||||||
"create new issue" template, to be completed before submision. Do not forget to
|
"New issue" template, to be completed before submission. Do not forget to
|
||||||
include your diagnostic ID.
|
include your diagnostic ID.
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
@ -74,7 +69,7 @@ Diagnostics ID: CD6CF862-9CBD-4007-9C2F-5FBE0572BBC2/20180720152545 (uploade
|
||||||
|
|
||||||
### Make sure certificates are set up correctly
|
### Make sure certificates are set up correctly
|
||||||
|
|
||||||
Docker Desktop for Windows ignores certificates listed under insecure registries, and
|
Docker Desktop ignores certificates listed under insecure registries, and
|
||||||
does not send client certificates to them. Commands like `docker run` that
|
does not send client certificates to them. Commands like `docker run` that
|
||||||
attempt to pull from the registry produces error messages on the command line,
|
attempt to pull from the registry produces error messages on the command line,
|
||||||
like this:
|
like this:
|
||||||
|
|
@ -99,7 +94,7 @@ Getting Started topic.
|
||||||
|
|
||||||
#### Permissions errors on data directories for shared volumes
|
#### Permissions errors on data directories for shared volumes
|
||||||
|
|
||||||
Docker Desktop for Windows sets permissions on [shared volumes](index.md#shared-drives)
|
Docker Desktop sets permissions on [shared volumes](index.md#shared-drives)
|
||||||
to a default value of [0777](http://permissions-calculator.org/decode/0777/)
|
to a default value of [0777](http://permissions-calculator.org/decode/0777/)
|
||||||
(`read`, `write`, `execute` permissions for `user` and for `group`).
|
(`read`, `write`, `execute` permissions for `user` and for `group`).
|
||||||
|
|
||||||
|
|
@ -109,10 +104,8 @@ volume defaults at container runtime, you need to either use non-host-mounted
|
||||||
volumes or find a way to make the applications work with the default file
|
volumes or find a way to make the applications work with the default file
|
||||||
permissions.
|
permissions.
|
||||||
|
|
||||||
Docker Desktop for Windows currrently implements host-mounted volumes based on the
|
Docker Desktop currently implements host-mounted volumes based on [Microsoft SMB
|
||||||
[Microsoft SMB
|
protocol](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365233(v=vs.85).aspx), which does not support fine-grained, `chmod` control over these permissions.
|
||||||
protocol](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365233(v=vs.85).aspx),
|
|
||||||
which does not support fine-grained, `chmod` control over these permissions.
|
|
||||||
|
|
||||||
See also, [Can I change permissions on shared volumes for container-specific
|
See also, [Can I change permissions on shared volumes for container-specific
|
||||||
deployment
|
deployment
|
||||||
|
|
@ -123,7 +116,7 @@ drives](https://github.com/docker/docker.github.io/issues/3298).
|
||||||
|
|
||||||
#### inotify on shared drives does not work
|
#### inotify on shared drives does not work
|
||||||
|
|
||||||
Currently, `inotify` does not work on Docker Desktop for Windows. This becomes evident,
|
Currently, `inotify` does not work on Docker Desktop. This becomes evident,
|
||||||
for example, when an application needs to read/write to a container across a
|
for example, when an application needs to read/write to a container across a
|
||||||
mounted drive. Instead of relying on filesystem inotify, we recommend using
|
mounted drive. Instead of relying on filesystem inotify, we recommend using
|
||||||
polling features for your framework or programming language.
|
polling features for your framework or programming language.
|
||||||
|
|
@ -131,11 +124,9 @@ polling features for your framework or programming language.
|
||||||
* **Workaround for nodemon and Node.js** - If you are using
|
* **Workaround for nodemon and Node.js** - If you are using
|
||||||
[nodemon](https://github.com/remy/nodemon) with `Node.js`, try the fallback
|
[nodemon](https://github.com/remy/nodemon) with `Node.js`, try the fallback
|
||||||
polling mode described here: [nodemon isn't restarting node
|
polling mode described here: [nodemon isn't restarting node
|
||||||
applications](https://github.com/remy/nodemon#application-isnt-restarting)
|
applications](https://github.com/remy/nodemon#application-isnt-restarting).
|
||||||
|
|
||||||
* **Docker Desktop for Windows issue on GitHub** - See the issue [Inotify on shared
|
* **Docker Desktop for Windows issue on GitHub** - See the issue [Inotify on shared drives does not work](https://github.com/docker/for-win/issues/56#issuecomment-242135705).
|
||||||
drives does not
|
|
||||||
work](https://github.com/docker/for-win/issues/56#issuecomment-242135705)
|
|
||||||
|
|
||||||
#### Volume mounting requires shared drives for Linux containers
|
#### Volume mounting requires shared drives for Linux containers
|
||||||
|
|
||||||
|
|
@ -145,8 +136,8 @@ cannot start, such as when using [Docker Compose](/compose/gettingstarted.md),
|
||||||
you might need to enable [shared drives](index.md#shared-drives).
|
you might need to enable [shared drives](index.md#shared-drives).
|
||||||
|
|
||||||
Volume mounting requires shared drives for Linux containers (not for Windows
|
Volume mounting requires shared drives for Linux containers (not for Windows
|
||||||
containers). Go to {: .inline}
|
containers). Click {: .inline}
|
||||||
→ **Settings** → **Shared Drives** and share the drive that contains the
|
and then **Settings** > **Shared Drives** and share the drive that contains the
|
||||||
Dockerfile and volume.
|
Dockerfile and volume.
|
||||||
|
|
||||||
#### Verify domain user has permissions for shared drives (volumes)
|
#### Verify domain user has permissions for shared drives (volumes)
|
||||||
|
|
@ -286,43 +277,37 @@ script](https://github.com/moby/moby/issues/24388).
|
||||||
|
|
||||||
### Virtualization
|
### Virtualization
|
||||||
|
|
||||||
In order for Docker Desktop for Windows to function properly your machine needs:
|
For Docker Desktop to function correctly, your machine must have the following features:
|
||||||
|
|
||||||
1. [Hyper-V](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview)
|
1. [Hyper-V](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview)
|
||||||
installed and working
|
installed and working
|
||||||
|
|
||||||
2. Virtualization enabled
|
2. Virtualization enabled
|
||||||
|
|
||||||
|
|
||||||
#### Hyper-V
|
#### Hyper-V
|
||||||
|
|
||||||
|
Docker Desktop requires Hyper-V as well as the Hyper-V Module for Windows
|
||||||
Docker Desktop for Windows requires a Hyper-V as well as the Hyper-V Module for Windows
|
Powershell to be installed and enabled. The Docker Desktop installer enables
|
||||||
Powershell to be installed and enabled. The Docker Desktop for Windows installer enables
|
|
||||||
it for you.
|
it for you.
|
||||||
|
|
||||||
Docker Desktop for Windows also needs two CPU hardware features to use Hyper-V: Virtualization and SLAT (Second Level Address Translation), which is also called RVI (Rapid Virtualization Indexing).
|
Docker Desktop also needs two CPU hardware features to use Hyper-V: Virtualization and Second Level Address Translation (SLAT), which is also called Rapid Virtualization Indexing (RVI). On some systems, Virtualization must be enabled in the BIOS. The steps required are vendor-specific, but typically the BIOS option is called `Virtualization Technology (VTx)` or something similar. Run the command `systeminfo` to check all required Hyper-V features. See [Pre-requisites for Hyper-V on Windows 10](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-requirements) for more details.
|
||||||
On some systems, Virtualization needs to be enabled in the BIOS. The steps required are vendor-specific, but typically the BIOS option is called `Virtualization Technology (VTx)` or something similar. Run the command `systeminfo` to check all required Hyper-V features. See [Pre-requisites for Hyper-V on Windows 10](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-requirements) for more details.
|
|
||||||
|
|
||||||
To install Hyper-V manually, see [Install Hyper-V on Windows 10](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install). A reboot is *required* after installation. If you install Hyper-V without rebooting, Docker Desktop for Windows does not work correctly.
|
To install Hyper-V manually, see [Install Hyper-V on Windows 10](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install). A reboot is *required* after installation. If you install Hyper-V without rebooting, Docker Desktop does not work correctly.
|
||||||
|
|
||||||
From the start menu, type in "Turn Windows features on or off" and hit enter.
|
From the start menu, type **Turn Windows features on or off** and press enter.
|
||||||
In the subequent screen, verify Hyper-V is enabled and has a checkmark:
|
In the subsequent screen, verify that Hyper-V is enabled:
|
||||||
|
|
||||||
{:width="600px"}
|
{:width="600px"}
|
||||||
|
|
||||||
#### Hyper-V driver for Docker Machine
|
#### Hyper-V driver for Docker Machine
|
||||||
|
|
||||||
Docker Desktop for Windows comes with the legacy tool Docker Machine which uses the old
|
The Docker Desktop installation includes the legacy tool Docker Machine which uses the old
|
||||||
[`boot2docker.iso`](https://github.com/boot2docker/boot2docker){:
|
[`boot2docker.iso`](https://github.com/boot2docker/boot2docker){:
|
||||||
target="_blank" class="_"}, and the [Microsoft Hyper-V
|
target="_blank" class="_"}, and the [Microsoft Hyper-V
|
||||||
driver](/machine/drivers/hyper-v.md) to create local virtual machines. _This is
|
driver](/machine/drivers/hyper-v.md) to create local virtual machines. _This is
|
||||||
tangential to using Docker Desktop for Windows_, but if you want to use Docker Machine
|
tangential to using Docker Desktop_, but if you want to use Docker Machine
|
||||||
to create multiple local VMs, or to provision remote machines, see the [Docker
|
to create multiple local Virtual Machines (VMs), or to provision remote machines, see the [Docker
|
||||||
Machine](/machine/index.md) topics. We mention this here only in case someone is
|
Machine](/machine/index.md) topics. This is documented only for users looking for information about Docker Machine on Windows, which requires that Hyper-V is enabled, an external network switch is active, and referenced in the flags for the `docker-machine create` command [as described in the Docker
|
||||||
looking for information about Docker Machine on Windows, which requires that
|
|
||||||
Hyper-V is enabled, an external network switch is active, and referenced in the
|
|
||||||
flags for the `docker-machine create` command [as described in the Docker
|
|
||||||
Machine driver example](/machine/drivers/hyper-v.md#example).
|
Machine driver example](/machine/drivers/hyper-v.md#example).
|
||||||
|
|
||||||
#### Virtualization must be enabled
|
#### Virtualization must be enabled
|
||||||
|
|
@ -332,21 +317,21 @@ Performance tab on the Task Manager:
|
||||||
|
|
||||||
{:width="700px"}
|
{:width="700px"}
|
||||||
|
|
||||||
If, at some point, if you manually uninstall Hyper-V or disable virtualization,
|
If you manually uninstall Hyper-V or disable virtualization,
|
||||||
Docker Desktop for Windows cannot start. See: [Unable to run Docker for Windows on
|
Docker Desktop cannot start. See [Unable to run Docker for Windows on
|
||||||
Windows 10 Enterprise](https://github.com/docker/for-win/issues/74).
|
Windows 10 Enterprise](https://github.com/docker/for-win/issues/74).
|
||||||
|
|
||||||
### Networking and WiFi problems upon Docker Desktop for Windows install
|
### Networking and WiFi problems upon Docker Desktop for Windows install
|
||||||
|
|
||||||
Some users have encountered networking issues during install and startup of
|
Some users may experience networking issues during install and startup of
|
||||||
Docker Desktop for Windows. For example, upon install or auto-reboot, network adapters
|
Docker Desktop. For example, upon install or auto-reboot, network adapters
|
||||||
and/or WiFi gets disabled. In some scenarios, problems are due to having
|
and/or WiFi may get disabled. In some scenarios, problems are due to having
|
||||||
VirtualBox or its network adapters still installed, but in other scenarios this
|
VirtualBox or its network adapters still installed, but in other scenarios this
|
||||||
is not the case. (See also, Docker Desktop for Windows issue on GitHub: [Enabling
|
is not the case. See the GitHub issue [Enabling
|
||||||
Hyper-V feature turns my wi-fi
|
Hyper-V feature turns my wi-fi
|
||||||
off](https://github.com/docker/for-win/issues/139).)
|
off](https://github.com/docker/for-win/issues/139).
|
||||||
|
|
||||||
Here are some steps to take if you encounter similar problems:
|
Here are some steps to take if you experience similar problems:
|
||||||
|
|
||||||
1. Ensure **virtualization** is enabled, as described above in [Virtualization
|
1. Ensure **virtualization** is enabled, as described above in [Virtualization
|
||||||
must be enabled](#virtualization-must-be-enabled).
|
must be enabled](#virtualization-must-be-enabled).
|
||||||
|
|
@ -368,16 +353,16 @@ Here are some steps to take if you encounter similar problems:
|
||||||
5. If previous steps fail to solve the problems, follow steps on the [Cleanup
|
5. If previous steps fail to solve the problems, follow steps on the [Cleanup
|
||||||
README](https://github.com/Microsoft/Virtualization-Documentation/blob/master/windows-server-container-tools/CleanupContainerHostNetworking/README.md).
|
README](https://github.com/Microsoft/Virtualization-Documentation/blob/master/windows-server-container-tools/CleanupContainerHostNetworking/README.md).
|
||||||
|
|
||||||
> Read full description before you run Windows cleanup script
|
> Read the full description before you run the Windows cleanup script.
|
||||||
>
|
>
|
||||||
>The cleanup command has two flags, `-Cleanup` and
|
>The cleanup command has two flags, `-Cleanup` and
|
||||||
>`-ForceDeleteAllSwitches`. Read the whole page before running any scripts,
|
>`-ForceDeleteAllSwitches`. Read the whole page before running any scripts,
|
||||||
>especially warnings about `-ForceDeleteAllSwitches`. {: .warning}
|
>especially warnings about `-ForceDeleteAllSwitches`. {: .warning}
|
||||||
|
|
||||||
### Windows containers and Windows Server 2016
|
### Windows containers and Windows Server
|
||||||
|
|
||||||
Docker Desktop is not supported on Windows Server 2016, instead you can use
|
Docker Desktop is not supported on Windows Server. Instead, you can use
|
||||||
[Docker Enterprise Basic Edition](/ee/index.md) at no aditional cost.
|
[Docker Enterprise Basic](/ee/index.md) at no additional cost.
|
||||||
|
|
||||||
If you have questions about how to run Windows containers on Windows 10, see
|
If you have questions about how to run Windows containers on Windows 10, see
|
||||||
[Switch between Windows and Linux
|
[Switch between Windows and Linux
|
||||||
|
|
@ -388,9 +373,7 @@ A full tutorial is available in [docker/labs](https://github.com/docker/labs) at
|
||||||
Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md).
|
Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md).
|
||||||
|
|
||||||
You can install a native Windows binary which allows you to develop and run
|
You can install a native Windows binary which allows you to develop and run
|
||||||
Windows containers without Docker Desktop for Windows. However, if you install Docker
|
Windows containers without Docker Desktop. However, if you install Docker this way, you cannot develop or run Linux containers. If you try to run a Linux container on the native Docker daemon, an error occurs:
|
||||||
this way, you cannot develop or run Linux containers. If you try to run a Linux
|
|
||||||
container on the native Docker daemon, an error occurs:
|
|
||||||
|
|
||||||
```none
|
```none
|
||||||
C:\Program Files\Docker\docker.exe:
|
C:\Program Files\Docker\docker.exe:
|
||||||
|
|
@ -464,24 +447,17 @@ For more information, see:
|
||||||
* [Windows NAT capabilities and
|
* [Windows NAT capabilities and
|
||||||
limitations](https://blogs.technet.microsoft.com/virtualization/2016/05/25/windows-nat-winnat-capabilities-and-limitations/)
|
limitations](https://blogs.technet.microsoft.com/virtualization/2016/05/25/windows-nat-winnat-capabilities-and-limitations/)
|
||||||
|
|
||||||
|
### Running Docker Desktop in nested virtualization scenarios
|
||||||
|
|
||||||
### Running Docker Desktop for Windows in nested virtualization scenarios
|
Docker Desktop can run inside a Windows 10 VM running on apps like Parallels or VMware Fusion on a Mac provided that the VM is properly configured. However, problems and intermittent failures may still occur due to the way these apps virtualize the hardware. For these reasons, _**Docker Desktop is not supported in nested virtualization scenarios**_. It might work
|
||||||
|
|
||||||
Docker Desktop for Windows can run inside a Windows 10 virtual machine (VM) running on
|
|
||||||
apps like Parallels or VMware Fusion on a Mac provided that the VM is properly
|
|
||||||
configured. However, problems and intermittent failures may still occur due to
|
|
||||||
the way these apps virtualize the hardware. For these reasons, _**Docker Desktop for
|
|
||||||
Windows is not supported for nested virtualization scenarios**_. It might work
|
|
||||||
in some cases, and not in others.
|
in some cases, and not in others.
|
||||||
|
|
||||||
The better solution is to run Docker Desktop for Windows natively on a Windows system
|
For best results, we recommend you run Docker Desktop natively on a Windows system (to work with Windows or Linux containers), or on Mac to work with Linux containers.
|
||||||
(to work with Windows or Linux containers), or Docker Desktop for Mac on Mac to work
|
|
||||||
with Linux containers.
|
|
||||||
|
|
||||||
#### If you still want to use nested virtualization
|
#### If you still want to use nested virtualization
|
||||||
|
|
||||||
* Make sure nested virtualization support is enabled in VMWare or Parallels.
|
* Make sure nested virtualization support is enabled in VMWare or Parallels.
|
||||||
Check the settings in **Hardware → CPU & Memory → Advanced Options → Enable
|
Check the settings in **Hardware > CPU & Memory > Advanced Options > Enable
|
||||||
nested virtualization** (the exact menu sequence might vary slightly).
|
nested virtualization** (the exact menu sequence might vary slightly).
|
||||||
|
|
||||||
* Configure your VM with at least 2 CPUs and sufficient memory to run your
|
* Configure your VM with at least 2 CPUs and sufficient memory to run your
|
||||||
|
|
@ -512,19 +488,18 @@ with Linux containers.
|
||||||
executed inside a VM which itself runs inside a VM. CPU utilization is also
|
executed inside a VM which itself runs inside a VM. CPU utilization is also
|
||||||
likely to be higher.
|
likely to be higher.
|
||||||
|
|
||||||
* Ensure "PMU Virtualization" is turned off in Parallels on Macs. Check the
|
* Ensure "PMU Virtualization" is turned off in Parallels on Macs. Check the
|
||||||
settings in **Hardware → CPU & Memory → Advanced Settings → PMU
|
settings in **Hardware > CPU & Memory > Advanced Settings > PMU
|
||||||
Virtualization**
|
Virtualization**.
|
||||||
|
|
||||||
#### Related issues
|
#### Related issues
|
||||||
|
|
||||||
Discussion thread on GitHub at [Docker for Windows issue
|
Discussion thread on GitHub at [Docker for Windows issue
|
||||||
267](https://github.com/docker/for-win/issues/267)
|
267](https://github.com/docker/for-win/issues/267).
|
||||||
|
|
||||||
### Networking issues
|
### Networking issues
|
||||||
|
|
||||||
Some users have reported problems connecting to Docker Hub on the Docker Desktop for
|
Some users have reported problems connecting to Docker Hub on the Docker Desktop stable version. (See GitHub issue
|
||||||
Windows stable version. (See GitHub issue
|
|
||||||
[22567](https://github.com/moby/moby/issues/22567).)
|
[22567](https://github.com/moby/moby/issues/22567).)
|
||||||
|
|
||||||
Here is an example command and error message:
|
Here is an example command and error message:
|
||||||
|
|
@ -539,23 +514,21 @@ See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
|
||||||
```
|
```
|
||||||
|
|
||||||
As an immediate workaround to this problem, reset the DNS server to use the
|
As an immediate workaround to this problem, reset the DNS server to use the
|
||||||
Google DNS fixed address: `8.8.8.8`. You can configure this via the **Settings**
|
Google DNS fixed address: `8.8.8.8`. You can configure this through the **Settings**
|
||||||
→ **Network** dialog, as described in the topic [Network](index.md#network).
|
> **Network** dialog, as described in the topic [Network](index.md#network).
|
||||||
Docker automatically restarts when you apply this setting, which could take some
|
Docker automatically restarts when you apply this setting, which could take some
|
||||||
time.
|
time.
|
||||||
|
|
||||||
We are currently investigating this issue.
|
|
||||||
|
|
||||||
### NAT/IP configuration
|
### NAT/IP configuration
|
||||||
|
|
||||||
By default, Docker Desktop for Windows uses an internal network prefix of
|
By default, Docker Desktop uses an internal network prefix of
|
||||||
`10.0.75.0/24`. Should this clash with your normal network setup, you can change
|
`10.0.75.0/24`. Should this clash with your normal network setup, you can change
|
||||||
the prefix from the **Settings** menu. See the [Network](index.md#network) topic
|
the prefix from the **Settings** menu. See the [Network](index.md#network) topic
|
||||||
under [Settings](index.md#docker-settings).
|
under [Settings](index.md#docker-settings).
|
||||||
|
|
||||||
## Workarounds
|
## Workarounds
|
||||||
|
|
||||||
### `inotify` currently does not work on Docker Desktop for Windows
|
### `inotify` currently does not work on Docker Desktop
|
||||||
|
|
||||||
If you are using `Node.js` with `nodemon`, a temporary workaround is to try the
|
If you are using `Node.js` with `nodemon`, a temporary workaround is to try the
|
||||||
fallback polling mode described here: [nodemon isn't restarting node
|
fallback polling mode described here: [nodemon isn't restarting node
|
||||||
|
|
@ -576,11 +549,10 @@ consult the shell's documentation.
|
||||||
|
|
||||||
### Make sure Docker is running for webserver examples
|
### Make sure Docker is running for webserver examples
|
||||||
|
|
||||||
For the `hello-world-nginx` example and others, Docker Desktop for Windows must be
|
For the `hello-world-nginx` example and others, Docker Desktop must be
|
||||||
running to get to the webserver on `http://localhost/`. Make sure that the
|
running to get to the webserver on `http://localhost/`. Make sure that the
|
||||||
Docker whale is showing in the menu bar, and that you run the Docker commands in
|
Docker whale is showing in the menu bar, and that you run the Docker commands in
|
||||||
a shell that is connected to the Docker Desktop for Windows Engine (not Engine from
|
a shell that is connected to the Docker Desktop Engine (not Engine from Toolbox). Otherwise, you might start the webserver container but get a "web page
|
||||||
Toolbox). Otherwise, you might start the webserver container but get a "web page
|
|
||||||
not available" error when you go to `docker`.
|
not available" error when you go to `docker`.
|
||||||
|
|
||||||
### How to solve `port already allocated` errors
|
### How to solve `port already allocated` errors
|
||||||
|
|
@ -598,19 +570,16 @@ docker app.
|
||||||
|
|
||||||
### Docker fails to start when firewall or anti-virus software is installed
|
### Docker fails to start when firewall or anti-virus software is installed
|
||||||
|
|
||||||
**Some firewalls and anti-virus software might be incompatible with Microsoft
|
Some firewalls and anti-virus software might be incompatible with Microsoft
|
||||||
**Windows 10 builds**, such as Windows 10 Anniversary Update. The conflict
|
**Windows 10 builds**, such as Windows 10 Anniversary Update. The conflict
|
||||||
typically occurs after a Windows update or new install of the firewall, and
|
typically occurs after a Windows update or new install of the firewall, and
|
||||||
manifests as an error response from the Docker daemon and a **Docker Desktop for Windows
|
manifests as an error response from the Docker daemon and a **Docker Desktop start failure**. The Comodo Firewall was one example of this problem, but users report that software has since been updated to work with these Windows 10 builds.
|
||||||
start failure**. The Comodo Firewall was one example of this problem, but users
|
|
||||||
report that software has since been updated to work with these Windows 10
|
|
||||||
builds.
|
|
||||||
|
|
||||||
See the Comodo forums topics [Comodo Firewall conflict with
|
See the Comodo forums topics [Comodo Firewall conflict with
|
||||||
Hyper-V](https://forums.comodo.com/bug-reports-cis/comodo-firewall-began-conflict-with-hyperv-t116351.0.html)
|
Hyper-V](https://forums.comodo.com/bug-reports-cis/comodo-firewall-began-conflict-with-hyperv-t116351.0.html)
|
||||||
and [Windows 10 Anniversary build doesn't allow Comodo drivers to be
|
and [Windows 10 Anniversary build doesn't allow Comodo drivers to be
|
||||||
installed](https://forums.comodo.com/install-setup-configuration-help-cis/windows-10-aniversary-build-doesnt-allow-comodo-drivers-to-be-installed-t116322.0.html).
|
installed](https://forums.comodo.com/install-setup-configuration-help-cis/windows-10-aniversary-build-doesnt-allow-comodo-drivers-to-be-installed-t116322.0.html).
|
||||||
A Docker Desktop for Windows user-created issue describes the problem specifically as it
|
A Docker Desktop user-created issue describes the problem specifically as it
|
||||||
relates to Docker: [Docker fails to start on Windows
|
relates to Docker: [Docker fails to start on Windows
|
||||||
10](https://github.com/docker/for-win/issues/27).
|
10](https://github.com/docker/for-win/issues/27).
|
||||||
|
|
||||||
|
|
|
||||||