Updating Docker for Win Community content (#9256)

Docker Desktop (Windows) content updates
This commit is contained in:
Usha Mandya 2019-08-21 15:58:12 +01:00 committed by GitHub
parent 4ad7f63f4c
commit dabe90cbe8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 283 additions and 368 deletions

View File

@ -45,9 +45,7 @@ Usage: {% include kubernetes-mac-win.md platform="mac" %}
{% endif %}
{{ version-caveat }}
{{ min-version }} includes a standalone Kubernetes server and client,
Docker Desktop includes a standalone Kubernetes server and client,
as well as Docker CLI integration. The Kubernetes server runs locally within
your Docker instance, is not configurable, and is a single-node cluster.

View File

@ -7,10 +7,7 @@ title: Migrate Docker Toolbox
This page explains how to migrate your Docker Toolbox disk image, or images if
you have them, to Docker Desktop for Windows.
In version 18.01.0 and higher, the Docker Desktop for Windows installer no longer
prompts users to migrate from Docker Toolbox--you must do so manually.
## How to migrate Docker Toolbox disk images to Docker Desktop for Windows
## How to migrate Docker Toolbox disk images to Docker Desktop
> **Warning**: Migrating disk images from Docker Toolbox _clobbers_ Docker
> 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).
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:
```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'
```
6. Restart Docker Desktop for Windows (with your converted disk).
6. Restart Docker Desktop (with your converted disk).
## How to uninstall Docker Toolbox

View File

@ -10,55 +10,41 @@ for knowledge base articles, FAQs, technical support for subscription levels, an
## 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
[Download Docker Desktop for Windows](install#download-docker-for-windows).
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
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
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,
but is not necessarily fully tested. It comes with the experimental version of
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.
* 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
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.
### 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
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
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
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.
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.
<font color="#CC3366">To safely switch between Edge and Stable versions be sure
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>
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.
### How to save and restore data
The following procedure can be used to save/restore images and container data,
for example, if you want to switch between Edge and Stable, or reset your VM
disk:
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:
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
@ -68,15 +54,14 @@ disk:
want to keep. (See [export](/engine/reference/commandline/export) in the
Docker Engine command line reference.)
3. Uninstall the current app & Install a different version of the app (Stable
or Edge), or reset your VM disk.
3. Uninstall the current version of Docker Desktop and install a different version (Stable or Edge), or reset your VM disk.
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
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
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
{% include experimental-feature.md %}
{% include experimental.md %}
## Feedback
### 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,
command line integration, and so on. Tell us about problems, what you like, or
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
[tutorial](/engine/swarm/swarm-tutorial/).
### What if I have problems or questions?
You can find the list of frequent issues in
[Logs and Troubleshooting](troubleshoot).
You can find information about diagnosing and troubleshooting common issues in the [Logs and Troubleshooting](troubleshoot) section.
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="_"}
@ -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).
[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
response.
### 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
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?").
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?").
### How is personal data handled in Docker Desktop?
When uploading diagnostics to help Docker with investigating issues, the
uploaded diagnostics bundle may contain personal data such as usernames and IP
addresses. The diagnostics bundles are only accessible to Docker Inc. employees
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
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
[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
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
either specifying the diagnostics ID or via 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.
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.
### 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
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
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
[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.
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:
`tcp://localhost:2375`.
This sets `DOCKER_HOST` and `DOCKER_CERT_PATH` environment variables to the
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
topic
[How to find the remote API](https://forums.docker.com/t/how-to-find-the-remote-api/20988){: target="_blank" class="_"}.
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="_"}.
## Volumes
### 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
deployed containers, but rather sets permissions to a default value of
[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?
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
[inotify on shared drives does not work](troubleshoot#inotify-on-shared-drives-does-not-work){: target="_blank" class="_"}
in [Troubleshooting](troubleshoot).
### Are symlinks supported?
Docker Desktop for Windows supports symbolic links (symlinks) created within containers.
Symlinks resolve within and across containers.
Symlinks created outside of Docker do not work.
Docker Desktop supports symbolic links (symlinks) created within containers.
Symlinks resolve within and across containers. Symlinks created outside of Docker do not work.
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?
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
intermediate) are supported. Docker recognizes certs stored under Trust Root
Certification Authorities or Intermediate Certification Authorities.
Docker Desktop for Windows creates a certificate bundle of all user-trusted CAs based on
the Windows certificate store, and appends it to Moby trusted certificates. So
if an enterprise SSL certificate is trusted by the user on the host, it is
trusted by Docker Desktop for Windows.
Docker Desktop creates a certificate bundle of all user-trusted CAs based on
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.
To learn more about how to install a CA root certificate for the registry, see
[Verify repository client with certificates](/engine/security/certificates)
@ -217,20 +191,19 @@ in the Docker Engine topics.
### How do I add client certificates?
Starting with Docker Desktop for Windows 17.06.0-ce, you do not need to push your
certificates with `git` commands anymore. You can put your client certificates
You can add your client certificates
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`
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.
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. Commands like `docker run` that attempt to pull from 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)
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
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
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?
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
Docker Desktop for Windows does not support mounts for nodes you created with
Desktop with Hyper-V. Shared drives can be made available to containers, but
Docker Desktop does not support mounts for nodes you created with
`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
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
Getting Started topic. For more about Docker Machine itself, see
[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
### 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
[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?
Docker Desktop for Windows requires the Hyper-V Windows feature which is not
available on Home-edition.
Docker Desktop requires the Hyper-V feature which is not available in the Windows Home edition.
### Why is Windows 10 required?
Docker Desktop for Windows uses Windows Hyper-V. While older Windows versions have
Hyper-V, their Hyper-V implementations lack features critical for Docker Desktop for
Windows to work.
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.
### 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 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)
in [Troubleshooting](troubleshoot).
## How do I uninstall Docker Toolbox?
You might decide that you do not need Toolbox now that you have Docker Desktop for
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.
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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 568 B

View File

@ -13,12 +13,13 @@ redirect_from:
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
Docker Desktop for Windows is the best way to get started with Docker _on Windows_.
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/).
> 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
@ -29,7 +30,7 @@ Docker Desktop for Windows is the best way to get started with Docker _on Window
```shell
> 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:
@ -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
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
> 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).
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
root@8aea0acb7423:/# hostname
8aea0acb7423
```
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
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.
@ -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
```
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
> 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
```
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.)
![Run nginx edge](images/nginx-homepage.png)
7. List only your _running_ containers:
7. List only your _running_ containers:
```shell
> 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
```
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
> 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
> 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
The **Docker Desktop for Windows menu** is a popup by which you can configure your
Docker settings -- installation, updates, version channels, Docker Hub login,
The **Docker Desktop** menu allows you to configure your Docker settings such as installation, updates, version channels, Docker Hub login,
and more.
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):
![Showing hidden apps in the taskbar](images/whale-icon-systray-hidden.png){:width="250px"}
2. Select **Settings...** to open the Settings dialog:
2. Select **Settings** to open the Settings dialog:
![Docker Desktop for Windows popup menu](images/docker-menu-settings.png){:width="400px"}
![Docker Desktop popup menu](images/docker-menu-settings.png){:width="300px"}
### General
@ -198,23 +199,22 @@ On the **General** tab of the Settings dialog, you can configure when to start a
![Settings](images/settings-general.png){:width="600px"}
* **Start Docker when you log in** - Automatically start the Docker Desktop for Windows
application upon Windows system login.
* **Start Docker when you log in** - Automatically start Docker Desktop upon Windows system login.
* **Automatically check for updates** - By default, Docker Desktop for Windows
automatically checks for updates and notifies you when an update is available.
* **Automatically check for updates** - By default, Docker Desktop 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
version). You can manually update by choosing **Check for Updates** from the
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
troubleshoot the application. Uncheck to opt out. Docker may also sometimes
prompt you for more information.
troubleshoot the application. Clear the check box to opt out. Docker may periodically 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
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).
![Shared drives](images/settings-shared-drives.png){: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
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).
There are a number of issues with using host-mounted volumes and network paths
(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
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).
>
* 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
and shows the following message when you try to add a shared drive:
![Port 445 blocked](images/shared-drive-firewall-blocked.png)
![Port 445 blocked](images/shared-drive-firewall-blocked.png){:width="600px"}
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
@ -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
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
Windows [Shared Drives list](index.md#shared-drives) and available to
containers. Alternatively, you can opt not to share it by hitting Cancel.
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
containers. Alternatively, you can opt not to share it by selecting **Cancel**.
![Shared drive on demand](images/shared-drive-on-demand.png)
![Shared drive on demand](images/shared-drive-on-demand.png){:width="600px"}
### 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.
* **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
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).
![Network settings](images/settings-network.png){: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.
> **Note**: Some users reported problems connecting to Docker Hub on Docker Desktop for
> Windows stable version. This would manifest as an error when trying to run
> **Note**: Some users reported problems connecting to Docker Hub on Docker Desktop Stable version. This would manifest as an error when trying to run
> `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
> 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
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,
if you set your proxy settings to `http://proxy.example.com`, Docker uses this
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
[restart policies](/engine/reference/run/#restart-policies-restart).
<p id="daemon-experimental-mode" />
### Daemon
You can configure the Docker daemon to hone how your containers run.
**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.
![Docker Daemon](images/settings-daemon-basic.png){:width="600px"}
#### Experimental mode
#### Experimental features
Both Docker Desktop for Windows Stable and 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
GitHub.
Docker Desktop Edge releases have the experimental version
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.
Experimental features are not appropriate for production environments or
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.
{% include experimental.md %}
On both Edge and Stable releases, you can toggle **experimental mode** on and
off. If you toggle it off, Docker Desktop for Windows uses the current generally
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
available release of Docker Engine.
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
> docker version
Client:
Version: 18.03.0-ce
API version: 1.37
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:06:28 2018
OS/Arch: windows/amd64
Experimental: true
Orchestrator: swarm
Client: Docker Engine - Community
Version: 19.03.1
API version: 1.40
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:17:08 2019
OS/Arch: windows/amd64
Experimental: true
Server:
Server: Docker Engine - Community
Engine:
Version: 18.03.0-ce
API version: 1.37 (minimum version 1.24)
Go version: go1.9.4
Git commit: 0520e24
Built: Wed Mar 21 23:21:06 2018
OS/Arch: windows/amd64
Experimental: true
Version: 19.03.1
API version: 1.40 (minimum version 1.12)
Go version: go1.12.5
Git commit: 74b1e89
Built: Thu Jul 25 21:17:52 2019
OS/Arch: linux/amd64
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**
Daemon settings.
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
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.
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.
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.
#### Daemon configuration file
@ -424,15 +423,10 @@ For a full list of options on the Docker daemon, see [daemon](/engine/reference/
### Kubernetes
[Kubernetes on Docker Desktop for Windows](/docker-for-windows/kubernetes/){: target="_blank" class="_"}
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.
Docker Desktop includes a standalone Kubernetes server that runs on your Windows host, so that you can test deploying your Docker workloads on Kubernetes.
![Enable Kubernetes](images/settings-kubernetes.png){: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
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
@ -443,45 +437,47 @@ to change context so that `kubectl` is pointing to `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:
![Change Kubernetes Context](images/docker-menu-context-switch.png){:width="600px"}
![Change Kubernetes Context](images/docker-menu-context-switch.png){:width="450px"}
If you installed `kubectl` by another method, and
experience conflicts, remove it.
- To enable Kubernetes support and install a standalone instance of Kubernetes
running as a Docker container, select **Enable Kubernetes** and click the
**Apply and restart** button.
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.
**Apply** button. This instantiates images required to run the Kubernetes server as containers, and installs the `kubectl.exe` command in the path.
- By default, Kubernetes containers are hidden from commands like `docker
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.
- To disable Kubernetes support at any time, deselect **Enable Kubernetes**.
The Kubernetes containers are stopped and removed, and the
`/usr/local/bin/kubectl` command is removed.
For more about using the Kubernetes integration with Docker Desktop for Windows,
see [Deploy on Kubernetes](kubernetes.md).
For more information on using the Kubernetes integration with Docker Desktop, see [Deploy on Kubernetes](kubernetes.md).
### 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.
![Reset](images/settings-reset.png){: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
useful in cases where Docker stops working or becomes unresponsive.
### Diagnose & feedback
### Troubleshoot
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.
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
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
containers, or select **Switch to Linux containers** to use Linux containers
(the default).
![Windows-Linux container types switch](images/docker-menu-switch.png){:width="400px"}
![Windows-Linux container types switch](images/docker-menu-switch.png){: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).
@ -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,
[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)
> 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:
>
* [General](#general)
* [Proxies](#proxies)
* [Docker daemon](#docker-daemon)
* [Diagnose and Feedback](#diagnose-and-feedback)
* [Daemon](#docker-daemon)
* [Reset](#reset)
>
If you set proxies or daemon configuration in Windows containers mode, these
apply only on Windows containers. If you switch back to Linux containers,
proxies and daemon configurations return to what you had set for Linux
containers. Your Windows container settings are retained and become available
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
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="_" }
* [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
* Try out the walkthrough at [Get Started](/get-started/){: target="_blank" class="_"}.

View File

@ -1,52 +1,51 @@
---
description: How to install Docker Desktop for Windows
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
(CE)](https://www.docker.com/community-edition) of Docker for Microsoft Windows.
To download Docker Desktop for Windows, head to Docker Hub.
Docker Desktop for Windows is the [Community](https://www.docker.com/community-edition) version of Docker for Microsoft Windows.
You can download Docker Desktop for Windows from Docker Hub.
[Download from Docker
Hub](https://hub.docker.com/?overlay=onboarding){:
.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
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
* **System Requirements**:
- Windows 10 64bit: Pro, Enterprise or Education (Build 15063 or later).
- Virtualization is enabled in BIOS. Typically, virtualization is enabled by
default. This is different from having Hyper-V enabled. For more detail see
[Virtualization must be
enabled](troubleshoot.md#virtualization-must-be-enabled) in Troubleshooting.
- CPU SLAT-capable feature.
- At least 4GB of RAM.
- Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later).
- Hyper-V and Containers Windows features must be enabled.
- The following hardware prerequisites are required to successfully run Client
Hyper-V on Windows 10:
> **Note**: If your system does not meet the requirements to run Docker Desktop for
> Windows, you can install [Docker Toolbox](/toolbox/overview.md), which uses
> Oracle Virtual Box instead of Hyper-V.
- 64 bit processor with [Second Level Address Translation (SLAT)](http://en.wikipedia.org/wiki/Second_Level_Address_Translation)
- 4GB system RAM
- 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
[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 for Windows 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 for Windows on a
VMWare or Parallels instance might work, but there are no guarantees. For
more information, see [Running Docker Desktop for Windows in nested virtualization
scenarios](troubleshoot.md#running-docker-desktop-for-windows-in-nested-virtualization-scenarios)
> **Note:** Docker supports Docker Desktop on Windows based on Microsofts 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).
**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.
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. However, you can still use
`docker-machine` to manage remote VMs.
### What's included in the installer
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.
@ -56,17 +55,15 @@ Looking for information on using Windows containers?
* [Switch between Windows and Linux
containers](/docker-for-windows/index.md#switch-between-windows-and-linux-containers)
describes the Linux / Windows containers toggle in Docker Desktop for Windows and
points you to the tutorial mentioned above.
describes how you can toggle between Linux and Windows containers in Docker Desktop and points you to the tutorial mentioned above.
* [Getting Started with Windows Containers
(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
or with Windows Server 2016. It shows you how to use a MusicStore application
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
with Windows containers.
* Docker Container Platform for Windows Server 2016 [articles and blog
posts](https://www.docker.com/microsoft/) on the Docker website
* Docker Container Platform for Windows [articles and blog
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.
@ -75,41 +72,35 @@ Looking for information on using Windows containers?
It typically downloads to your `Downloads` folder, or you can run it from
the recent downloads bar at the bottom of your web browser.
2. Follow the install wizard to accept the license, authorize the installer, and
proceed with the install.
2. Follow the instructions on the installation wizard to accept the license, authorize the installer, and 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
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, select **Docker Desktop for Windows** in the search results, and click it (or
hit Enter).
Docker Desktop does not start automatically after installation. To start Docker Desktop, search for Docker, and select **Docker Desktop** in the search results.
![search for Docker app](images/docker-app-search.png){:width="400px"}
When the whale in the status bar stays steady, Docker is up-and-running, and
accessible from any terminal window.
When the whale icon in the status bar stays steady, Docker Desktop is up-and-running, and is accessible from any terminal window.
![whale on taskbar](images/whale-icon-systray.png)
If the whale is hidden in the Notifications area, click the up arrow on the
taskbar to show it. To learn more, see [Docker
Settings](/docker-for-windows/index.md#docker-settings-dialog).
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 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.
![Startup information](images/docker-app-welcome.png){:width="400px"}
When initialization is complete, select **About Docker** from the Notifications
area icon to verify that you have the latest version.
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.
Congratulations! You are up and running with Docker Desktop for Windows.
Congratulations! You are successfully running Docker Desktop on Windows.
## Where to go next

View File

@ -5,15 +5,15 @@ title: Networking features in Docker Desktop for 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.
## Features
### VPN Passthrough
Docker Desktop for {{Arch}}'s 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 networking can work when attached to a VPN. To do this,
Docker Desktop intercepts traffic from the containers and injects it into
{{Arch}} as if it originated from the Docker application.
### 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 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
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

View File

@ -5,10 +5,10 @@ title: Open source components and licensing
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 ![whale menu](/docker-for-mac/images/whale-x.png){: .inline}
&nbsp;**About** from within the application, then click **Acknowledgements**.
&nbsp;**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
[here](https://download.docker.com/opensource/License.tar.gz).

View File

@ -7,43 +7,38 @@ redirect_from:
title: Logs and troubleshooting
---
Here is information about how to diagnose and troubleshoot problems, send logs
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.
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.
## Docker Knowledge Hub
**Looking for help with Docker Desktop for Windows?** Check out the [Docker Knowledge
Hub](http://success.docker.com/q) for knowledge base articles, FAQs, and
**Looking for help with Docker Desktop for Windows?** Check out [Docker Success Center](http://success.docker.com/q) for knowledge base articles, FAQs, and
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
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
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
troubleshoot the log data.
Choose ![whale menu](images/whale-x.png){: .inline} → **Diagnose & Feedback**
from the menu bar.
Choose ![whale menu](images/whale-x.png){: .inline} > **Troubleshoot**
from the menu.
![Diagnose & Feedback](images/diagnose-feedback.png){:width="600px"}
Once the **Diagnose & Feedback** window is opened, it will start to collect the
dignostics. When the diagnostics are available, you can upload them and obtain a
**Diagnostic ID**, which must be provided when communicating with the Docker
team. For more information on our policy regarding personal data you can read
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
team. For more information on our policy regarding personal data, see
[how is personal data handled in Docker
Desktop](https://docs.docker.com/docker-for-mac/faqs/#how-is-personal-data-handled-in-docker-desktop).
![Diagnose & Feedback with ID](images/diagnostic-id.png){: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
"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.
![issue-template](images/issue-template.png){:width="600px"}
@ -74,7 +69,7 @@ Diagnostics ID: CD6CF862-9CBD-4007-9C2F-5FBE0572BBC2/20180720152545 (uploade
### 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
attempt to pull from the registry produces error messages on the command line,
like this:
@ -99,7 +94,7 @@ Getting Started topic.
#### 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/)
(`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
permissions.
Docker Desktop for Windows currrently implements host-mounted volumes based on the
[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.
Docker Desktop currently implements host-mounted volumes based on [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.
See also, [Can I change permissions on shared volumes for container-specific
deployment
@ -123,7 +116,7 @@ drives](https://github.com/docker/docker.github.io/issues/3298).
#### 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
mounted drive. Instead of relying on filesystem inotify, we recommend using
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
[nodemon](https://github.com/remy/nodemon) with `Node.js`, try the fallback
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
drives does not
work](https://github.com/docker/for-win/issues/56#issuecomment-242135705)
* **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).
#### 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).
Volume mounting requires shared drives for Linux containers (not for Windows
containers). Go to ![whale menu](/docker-for-mac/images/whale-x.png){: .inline}
**Settings** **Shared Drives** and share the drive that contains the
containers). Click ![whale menu](images/whale-x.png){: .inline}
and then **Settings** > **Shared Drives** and share the drive that contains the
Dockerfile and volume.
#### Verify domain user has permissions for shared drives (volumes)
@ -286,43 +277,37 @@ script](https://github.com/moby/moby/issues/24388).
### 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)
installed and working
2. Virtualization enabled
#### Hyper-V
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 for Windows installer enables
Docker Desktop requires Hyper-V as well as the Hyper-V Module for Windows
Powershell to be installed and enabled. The Docker Desktop installer enables
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).
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.
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.
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.
In the subequent screen, verify Hyper-V is enabled and has a checkmark:
From the start menu, type **Turn Windows features on or off** and press enter.
In the subsequent screen, verify that Hyper-V is enabled:
![Hyper-V on Windows features](images/hyperv-enabled.png){:width="600px"}
#### 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){:
target="_blank" class="_"}, and the [Microsoft Hyper-V
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
to create multiple local VMs, or to provision remote machines, see the [Docker
Machine](/machine/index.md) topics. We mention this here only in case someone is
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
tangential to using Docker Desktop_, but if you want to use Docker Machine
to create multiple local Virtual Machines (VMs), or to provision remote machines, see the [Docker
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
Machine driver example](/machine/drivers/hyper-v.md#example).
#### Virtualization must be enabled
@ -332,21 +317,21 @@ Performance tab on the Task Manager:
![Task Manager](images/virtualization-enabled.png){:width="700px"}
If, at some point, if you manually uninstall Hyper-V or disable virtualization,
Docker Desktop for Windows cannot start. See: [Unable to run Docker for Windows on
If you manually uninstall Hyper-V or disable virtualization,
Docker Desktop cannot start. See [Unable to run Docker for Windows on
Windows 10 Enterprise](https://github.com/docker/for-win/issues/74).
### Networking and WiFi problems upon Docker Desktop for Windows install
Some users have encountered networking issues during install and startup of
Docker Desktop for Windows. For example, upon install or auto-reboot, network adapters
and/or WiFi gets disabled. In some scenarios, problems are due to having
Some users may experience networking issues during install and startup of
Docker Desktop. For example, upon install or auto-reboot, network adapters
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
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
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
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
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
>`-ForceDeleteAllSwitches`. Read the whole page before running any scripts,
>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 Enterprise Basic Edition](/ee/index.md) at no aditional cost.
Docker Desktop is not supported on Windows Server. Instead, you can use
[Docker Enterprise Basic](/ee/index.md) at no additional cost.
If you have questions about how to run Windows containers on Windows 10, see
[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).
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
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:
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:
```none
C:\Program Files\Docker\docker.exe:
@ -464,24 +447,17 @@ For more information, see:
* [Windows NAT capabilities and
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 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
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
in some cases, and not in others.
The better solution is to run Docker Desktop for Windows natively on a Windows system
(to work with Windows or Linux containers), or Docker Desktop for Mac on Mac to work
with Linux containers.
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.
#### If you still want to use nested virtualization
* 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).
* Configure your VM with at least 2 CPUs and sufficient memory to run your
@ -513,18 +489,17 @@ with Linux containers.
likely to be higher.
* Ensure "PMU Virtualization" is turned off in Parallels on Macs. Check the
settings in **Hardware → CPU & Memory → Advanced Settings → PMU
Virtualization**
settings in **Hardware > CPU & Memory > Advanced Settings > PMU
Virtualization**.
#### Related issues
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
Some users have reported problems connecting to Docker Hub on the Docker Desktop for
Windows stable version. (See GitHub issue
Some users have reported problems connecting to Docker Hub on the Docker Desktop stable version. (See GitHub issue
[22567](https://github.com/moby/moby/issues/22567).)
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
Google DNS fixed address: `8.8.8.8`. You can configure this via the **Settings**
**Network** dialog, as described in the topic [Network](index.md#network).
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).
Docker automatically restarts when you apply this setting, which could take some
time.
We are currently investigating this issue.
### 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
the prefix from the **Settings** menu. See the [Network](index.md#network) topic
under [Settings](index.md#docker-settings).
## 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
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
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
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
Toolbox). Otherwise, you might start the webserver container but get a "web page
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
not available" error when you go to `docker`.
### 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
**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
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
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.
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.
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)
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).
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
10](https://github.com/docker/for-win/issues/27).