Update docs for docker desktop
Signed-off-by: LoreenRH <lorena.rangel@docker.com>
|
@ -12,13 +12,11 @@ Usage: {% include kubernetes-mac-win.md platform="mac" %}
|
|||
{% if platform == "mac" %}
|
||||
{% assign product = "Docker for Mac" %}
|
||||
|
||||
{% capture min-version %}{{ product }} 17.12 CE{% endcapture %}
|
||||
{% capture min-stable-version %}{{ product }} 18.06 CE{% endcapture %}
|
||||
|
||||
{% capture min-version %}{{ product }} **17.12 CE Edge**{% endcapture %}
|
||||
|
||||
{% capture version-caveat %}
|
||||
**Kubernetes is only available in {{ min-version }} and higher on the Edge channel, and in {{ in-stable-version }} and higher in the Stable channel**
|
||||
|
||||
{% endcapture %}
|
||||
Kubernetes is available in {{ min-version }} and higher, and **18.06 Stable** and higher
|
||||
{% endcapture%}
|
||||
|
||||
{% capture local-kubectl-warning %}
|
||||
> If you independently installed the Kubernetes CLI, `kubectl`, make sure that
|
||||
|
@ -33,26 +31,21 @@ Usage: {% include kubernetes-mac-win.md platform="mac" %}
|
|||
{% elsif platform == "windows" %}
|
||||
{% assign product = "Docker for Windows" %}
|
||||
|
||||
{% capture min-version %}{{ product }} 18.02 CE{% endcapture %}
|
||||
{% capture min-stable-version %}{{ product }} 18.06 CE{% endcapture %}
|
||||
{% capture min-version %}{{ product }} **18.02 CE Edge**{% endcapture %}
|
||||
|
||||
{% capture version-caveat %}
|
||||
**Kubernetes is only available in {{ min-version }} and higher on the Edge channel, and in {{ in-stable-version }} and higher in the Stable channel**
|
||||
Kubernetes is available in {{ min-version }} and higher, and **18.06 Stable** and higher
|
||||
{% endcapture %}
|
||||
|
||||
{% capture local-kubectl-warning %}
|
||||
If you installed `kubectl` by another method, and experience conflicts, remove it.
|
||||
If you installed `kubectl` by another method, and experience conflicts, remove it.
|
||||
{% endcapture %}
|
||||
|
||||
{% assign kubectl-path = "C:\>Program Files\Docker\Docker\Resources\bin\kubectl.exe" %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{{ version-caveat }} To find out more about Stable and Edge channels and how to
|
||||
switch between them, see
|
||||
[General configuration](/docker-for-{{ platform }}/#general).
|
||||
|
||||
{{ min-version }} includes a standalone Kubernetes server and client,
|
||||
{{ version-caveat }}, this 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.
|
||||
|
||||
|
|
Before Width: | Height: | Size: 375 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 245 KiB After Width: | Height: | Size: 128 KiB |
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 112 KiB |
|
@ -18,11 +18,14 @@ Welcome to Docker for Mac! Docker is a full development platform for creating
|
|||
containerized apps, and Docker for Mac is the best way to get started with
|
||||
Docker _on a Mac_.
|
||||
|
||||
> See [Install Docker for Mac](install.md){: target="_blank" class="_"} for information on system requirements and stable & edge channels.
|
||||
> See [Install Docker for Mac](install.md){: target="_blank" class="_"} for
|
||||
> information on system requirements and stable & edge channels.
|
||||
|
||||
## Check versions
|
||||
|
||||
Ensure your versions of `docker`, `docker-compose`, and `docker-machine` are up-to-date and compatible with `Docker.app`. Your output may differ if you are running different versions.
|
||||
Ensure your versions of `docker`, `docker-compose`, and `docker-machine` are
|
||||
up-to-date and compatible with `Docker.app`. Your output may differ if you are
|
||||
running different versions.
|
||||
|
||||
```shell
|
||||
$ docker --version
|
||||
|
@ -38,7 +41,9 @@ docker-machine version {{ site.machine_version }}, build 9ba6da9
|
|||
## Explore the application
|
||||
|
||||
1. Open a command-line terminal and test that your installation works by
|
||||
running the simple Docker image, [hello-world](https://hub.docker.com/_/hello-world/){: target="_blank" class="_"}:
|
||||
running the simple Docker image,
|
||||
[hello-world](https://hub.docker.com/_/hello-world/){: target="_blank"
|
||||
class="_"}:
|
||||
|
||||
```shell
|
||||
$ docker run hello-world
|
||||
|
@ -61,15 +66,18 @@ docker-machine version {{ site.machine_version }}, build 9ba6da9
|
|||
$ docker run -d -p 80:80 --name webserver nginx
|
||||
```
|
||||
|
||||
3. In a web browser, go to `http://localhost/` to view the nginx homepage. Because we specified the default HTTP port, it isn't necessary to append `:80` at the end of the URL.
|
||||
3. In a web browser, go to `http://localhost/` to view the nginx homepage.
|
||||
Because we specified the default HTTP port, it isn't necessary to append
|
||||
`:80` at the end of the URL.
|
||||
|
||||
{:width="500px"}
|
||||
|
||||
> Early beta releases used `docker` as the hostname to build the
|
||||
> URL. Now, ports are exposed on the private IP addresses of the VM and
|
||||
> forwarded to `localhost` with no other host name set.
|
||||
> Early beta releases used `docker` as the hostname to build the URL. Now,
|
||||
> ports are exposed on the private IP addresses of the VM and forwarded to
|
||||
> `localhost` with no other host name set.
|
||||
|
||||
4. View the details on the container while your web server is running (with `docker container ls` or `docker ps`):
|
||||
4. View the details on the container while your web server is running (with
|
||||
`docker container ls` or `docker ps`):
|
||||
|
||||
```none
|
||||
$ docker container ls
|
||||
|
@ -77,7 +85,8 @@ docker-machine version {{ site.machine_version }}, build 9ba6da9
|
|||
56f433965490 nginx "nginx -g 'daemon off" About a minute ago Up About a minute 0.0.0.0:80->80/tcp, 443/tcp webserver
|
||||
```
|
||||
|
||||
5. Stop and remove containers and images with the following commands. Use the "all" flag (`--all` or `-a`) to view stopped containers.
|
||||
5. Stop and remove containers and images with the following commands. Use the
|
||||
"all" flag (`--all` or `-a`) to view stopped containers.
|
||||
|
||||
```shell
|
||||
$ docker container ls
|
||||
|
@ -90,7 +99,8 @@ docker-machine version {{ site.machine_version }}, build 9ba6da9
|
|||
|
||||
## Preferences menu
|
||||
|
||||
Choose {: .inline} -> **Preferences** from the menu bar and configure the runtime options described below.
|
||||
Choose {: .inline} → **Preferences** from the
|
||||
menu bar and configure the runtime options described below.
|
||||
|
||||
{:width="250px"}
|
||||
|
||||
|
@ -100,18 +110,24 @@ Choose {: .inline} -> **Preferences** from the
|
|||
|
||||
General settings are:
|
||||
|
||||
- **Start Docker when you log in**: Uncheck this option if you don't want Docker to start when you open your session.
|
||||
- **Start Docker when you log in**: Uncheck this option if you don't want Docker
|
||||
to start when you open your session.
|
||||
|
||||
- **Automatically check for updates** notifies you when an update is available.
|
||||
Click **OK** to accept and install updates (or cancel to keep the current
|
||||
version). If you disable this option, you can still find out about updates
|
||||
manually by choosing {: .inline} -> **Check for Updates**.
|
||||
manually by choosing {: .inline} → **Check
|
||||
for Updates**.
|
||||
|
||||
- **Include VM in Time Machine backups** backs up the Docker for Mac virtual machine. (Disabled by default.)
|
||||
- **Include VM in Time Machine backups** backs up the Docker for Mac virtual
|
||||
machine. (Disabled by default.)
|
||||
|
||||
- **Securely store Docker logins in MacOS keychain** stores your Docker login credentials. (Enabled by default.)
|
||||
- **Securely store Docker logins in MacOS keychain** stores your Docker login
|
||||
credentials. (Enabled by default.)
|
||||
|
||||
- **Send usage statistics** — Send diagnostics, crash reports, and usage data to Docker. This information helps Docker improve the application and get more context for troubleshooting problems. (Enabled by default.)
|
||||
- **Send usage statistics** — Send diagnostics, crash reports, and usage
|
||||
data to Docker. This information helps Docker improve the application and get
|
||||
more context for troubleshooting problems. (Enabled by default.)
|
||||
|
||||
### File sharing
|
||||
|
||||
|
@ -127,7 +143,8 @@ File share settings are:
|
|||
|
||||
- **Add a Directory**: Click `+` and navigate to the directory you want to add.
|
||||
|
||||
- **Apply & Restart** makes the directory available to containers using Docker's bind mount (`-v`) feature.
|
||||
- **Apply & Restart** makes the directory available to containers using Docker's
|
||||
bind mount (`-v`) feature.
|
||||
|
||||
There are some limitations on the directories that can be shared:
|
||||
|
||||
|
@ -136,30 +153,34 @@ File share settings are:
|
|||
|
||||
For more information, see:
|
||||
|
||||
- [Namespaces](osxfs.md#namespaces){: target="_blank" class="_"} in the topic on [osxfs file system sharing](osxfs.md).
|
||||
- [Volume mounting requires file sharing for any project directories outside of `/Users`](troubleshoot.md#volume-mounting-requires-file-sharing-for-any-project-directories-outside-of-users).)
|
||||
- [Namespaces](osxfs.md#namespaces){: target="_blank" class="_"} in the topic on
|
||||
[osxfs file system sharing](osxfs.md).
|
||||
- [Volume mounting requires file sharing for any project directories outside of
|
||||
`/Users`](troubleshoot.md#volume-mounting-requires-file-sharing-for-any-project-directories-outside-of-users).)
|
||||
|
||||
### Advanced
|
||||
|
||||
On the Advanced tab, you can limit resources available to Docker.
|
||||
|
||||
{:width="400px"}
|
||||
{:width="400px"}
|
||||
|
||||
Advanced settings are:
|
||||
|
||||
**CPUs**: By default, Docker for Mac is set to use half the number of processors available
|
||||
on the host machine. To increase processing power, set this to a higher number;
|
||||
to decrease, lower the number.
|
||||
**CPUs**: By default, Docker for Mac is set to use half the number of processors
|
||||
available on the host machine. To increase processing power, set this to a
|
||||
higher number; to decrease, lower the number.
|
||||
|
||||
**Memory**: By default, Docker for Mac is set to use `2` GB runtime memory, allocated from
|
||||
the total available memory on your Mac. To increase RAM, set this to a higher number;
|
||||
to decrease it, lower the number.
|
||||
**Memory**: By default, Docker for Mac is set to use `2` GB runtime memory,
|
||||
allocated from the total available memory on your Mac. To increase RAM, set this
|
||||
to a higher number; to decrease it, lower the number.
|
||||
|
||||
**Swap**: Configure swap file size as needed. The default is 1 GB.
|
||||
|
||||
### Disk
|
||||
|
||||
Specify the **Disk image location** of the Linux volume, where containers and images are stored.
|
||||
Specify the **Disk image location** of the Linux volume, where containers and
|
||||
images are stored.
|
||||
|
||||
You can also move the disk image location. If you attempt to move the disk image
|
||||
to a location that already has one, you get a prompt asking if you want to use
|
||||
|
@ -178,8 +199,8 @@ pulling containers.
|
|||
|
||||
{:width="600px"}
|
||||
|
||||
When you start a container, your proxy settings propagate into
|
||||
the containers. For example:
|
||||
When you start a container, your proxy settings propagate into the containers.
|
||||
For example:
|
||||
|
||||
```
|
||||
$ docker run -it alpine env
|
||||
|
@ -202,7 +223,8 @@ using [restart policies](/engine/reference/run/#restart-policies-restart).
|
|||
|
||||
### Daemon
|
||||
|
||||
You can configure options on the Docker daemon that determine how your containers run.
|
||||
You can configure options on the Docker daemon that determine how your
|
||||
containers run.
|
||||
|
||||
Select **Basic** to configure the daemon with interactive settings, or select
|
||||
**Advanced** to edit the JSON directly.
|
||||
|
@ -213,12 +235,18 @@ Select **Basic** to configure the daemon with interactive settings, or select
|
|||
#### Experimental features
|
||||
|
||||
Both Docker for Mac Stable and Edge releases have experimental features enabled
|
||||
on Docker Engine, as described [Docker Experimental Features README](https://github.com/docker/docker-ce/blob/master/components/cli/experimental/README.md){: target="_blank" class="_"}. If you uncheck **experimental mode**, Docker for Mac uses the current generally available
|
||||
release of Docker Engine.
|
||||
on Docker Engine, as described [Docker Experimental Features
|
||||
README](https://github.com/docker/docker-ce/blob/master/components/cli/experimental/README.md){:
|
||||
target="_blank" class="_"}. If you uncheck **experimental mode**, Docker for Mac
|
||||
uses the current generally available release of Docker Engine.
|
||||
|
||||
> Don't enable experimental features in production
|
||||
>
|
||||
> 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.
|
||||
>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.
|
||||
|
||||
You can see whether you are running experimental mode at the command line. If
|
||||
`Experimental` is `true`, then Docker is running in experimental mode, as shown
|
||||
|
@ -231,30 +259,41 @@ true
|
|||
|
||||
#### Insecure registries
|
||||
|
||||
You can set up a custom and insecure [registry](/registry/introduction.md){: target="_blank" class="_"}
|
||||
to store your public or private images (instead of using [Docker Hub](https://hub.docker.com/){:target="_blank" class="_"}
|
||||
or [Docker Trusted Registry](/datacenter/dtr/2.1/guides/index.md)).
|
||||
Add URLs for your insecure registries and registry mirrors on which to host your images.
|
||||
You can set up a custom and insecure [registry](/registry/introduction.md){:
|
||||
target="_blank" class="_"} to store your public or private images (instead of
|
||||
using [Docker Hub](https://hub.docker.com/){:target="_blank" class="_"} or
|
||||
[Docker Trusted Registry](/datacenter/dtr/2.1/guides/index.md)). Add URLs for
|
||||
your insecure registries and registry mirrors on which to host your images.
|
||||
|
||||
See also:
|
||||
- [How do I add custom CA certificates?](faqs.md#how-do-i-add-custom-ca-certificates){:target="_blank" class="_"}
|
||||
- [How do I add client certificates](faqs.md#how-do-i-client-certificates){:target="_blank" class="_"}
|
||||
- [How do I add custom CA
|
||||
certificates?](faqs.md#how-do-i-add-custom-ca-certificates){:target="_blank"
|
||||
class="_"}
|
||||
- [How do I add client
|
||||
certificates](faqs.md#how-do-i-client-certificates){:target="_blank"
|
||||
class="_"}
|
||||
|
||||
#### Daemon configuration file
|
||||
|
||||
Click the **Advanced** tab to configure the daemon from the JSON file. For a full
|
||||
list of options, see the Docker Engine [dockerd commandline reference](/engine/reference/commandline/dockerd.md){:target="_blank" class="_"}.
|
||||
Click the **Advanced** tab to configure the daemon from the JSON file. For a
|
||||
full list of options, see the Docker Engine [dockerd commandline
|
||||
reference](/engine/reference/commandline/dockerd.md){:target="_blank"
|
||||
class="_"}.
|
||||
|
||||
Click **Apply & Restart** to save your settings and reboot Docker. Or, to cancel
|
||||
changes, click another preference tab, then choose to discard or not apply changes when asked.
|
||||
changes, click another preference tab, then choose to discard or not apply
|
||||
changes when asked.
|
||||
|
||||
{:width="400px"}
|
||||
|
||||
### Kubernetes
|
||||
|
||||
Docker for Mac 17.12 CE (and higher) includes a standalone Kubernetes server
|
||||
that runs on your Mac, so that you can test deploying your Docker workloads on
|
||||
Kubernetes.
|
||||
In Docker for Mac [17.12 Edge
|
||||
(mac45)](/docker-for-mac/edge-relese-notes/#docker-community-edition-17120-ce-mac45-2018-01-05)
|
||||
and higher, and [18.06 Stable
|
||||
(mac70)](/docker-for-mac/release-notes/#docker-community-edition-18060-ce-mac70-2018-07-25)
|
||||
and higher, a standalone Kubernetes server is included that runs on your Mac, 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
|
||||
|
@ -270,10 +309,13 @@ If you installed `kubectl` with Homebrew, or by some other method, and
|
|||
experience conflicts, remove `/usr/local/bin/kubectl`.
|
||||
|
||||
- To enable Kubernetes support and install a standalone instance of Kubernetes
|
||||
running as a Docker container, select **Enable Kubernetes** and click the
|
||||
**Apply** button.
|
||||
running as a Docker container, select **Enable Kubernetes**, choose the
|
||||
[default
|
||||
orchestrator](/docker-for-mac/kubernetes/#override-the-default-orchestrator)
|
||||
and click the **Apply** button.
|
||||
|
||||
{: .with-border width="400px"}
|
||||
{: .with-border
|
||||
width="400px"}
|
||||
|
||||
|
||||
An Internet connection is required. Images required to run the Kubernetes
|
||||
|
@ -283,29 +325,32 @@ experience conflicts, remove `/usr/local/bin/kubectl`.
|
|||
When Kubernetes is enabled and running, an additional status bar item displays
|
||||
at the bottom right of the Docker for Mac Preferences dialog.
|
||||
|
||||
{:width="400px"}
|
||||
{:width="400px"}
|
||||
|
||||
The status of Kubernetes shows in the Docker menu and the context points to `docker-for-desktop`.
|
||||
The status of Kubernetes shows in the Docker menu and the context points to
|
||||
`docker-for-desktop`.
|
||||
|
||||
{: .with-border width="400px"}
|
||||
{: .with-border
|
||||
width="400px"}
|
||||
|
||||
- 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**.
|
||||
Most users do not need this option.
|
||||
visible, select **Show system containers (advanced)** and click **Apply and
|
||||
restart**. 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
|
||||
- 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 for Mac, see [Deploy on Kubernetes](kubernetes.md){:target="_blank" class="_"}.
|
||||
For more about using the Kubernetes integration with Docker for Mac, see
|
||||
[Deploy on Kubernetes](kubernetes.md){:target="_blank" class="_"}.
|
||||
|
||||
### Reset
|
||||
|
||||
Select {: .inline} ->
|
||||
**Preferences** from the menu bar, then click **Reset** to reset factory
|
||||
defaults, restart the Docker daemon, or uninstall.
|
||||
Select {: .inline} -> **Preferences** from the
|
||||
menu bar, then click **Reset** to reset factory defaults, restart the Docker
|
||||
daemon, or uninstall.
|
||||
|
||||
{:width="400px"}
|
||||
|
||||
|
@ -313,27 +358,28 @@ Reset settings are:
|
|||
|
||||
* **Restart** - Select to restart the Docker daemon.
|
||||
|
||||
* **Remove all data** - This option removes/resets all Docker data _without_
|
||||
a reset to factory defaults (which would cause you to lose settings).
|
||||
* **Remove all data** - This option removes/resets all Docker data _without_ a
|
||||
reset to factory defaults (which would cause you to lose settings).
|
||||
|
||||
* **Reset to factory defaults** - Choose this option to reset all options on
|
||||
Docker for Mac to its initial state, the same as when it was first installed.
|
||||
|
||||
* **Uninstall** - Choose this option to remove Docker for Mac from your system.
|
||||
* **Uninstall** - Choose this option to remove Docker for Mac from your
|
||||
system.
|
||||
|
||||
> Uninstall Docker for Mac from the commandline
|
||||
>
|
||||
> To uninstall Docker from Mac from a terminal, run: `<DockerforMacPath> --uninstall`.
|
||||
> If your instance is installed in the default location, this command provides a
|
||||
> clean uninstall:
|
||||
>To uninstall Docker from Mac from a terminal, run: `<DockerforMacPath>
|
||||
>--uninstall`. If your instance is installed in the default location, this
|
||||
>command provides a clean uninstall:
|
||||
>
|
||||
> ```shell
|
||||
> $ /Applications/Docker.app/Contents/MacOS/Docker --uninstall
|
||||
> Docker is running, exiting...
|
||||
> Docker uninstalled successfully. You can move the Docker application to the trash.
|
||||
> ```
|
||||
> You might want to use the command-line uninstall if, for example, you find that
|
||||
> the app is non-functional, and you cannot uninstall it from the menu.
|
||||
>```shell
|
||||
>$ /Applications/Docker.app/Contents/MacOS/Docker --uninstall
|
||||
>Docker is running, exiting...
|
||||
>Docker uninstalled successfully. You can move the Docker application to the trash.
|
||||
>```
|
||||
>You might want to use the command-line uninstall if, for example, you find that
|
||||
>the app is non-functional, and you cannot uninstall it from the menu.
|
||||
|
||||
## Add TLS certificates
|
||||
|
||||
|
@ -343,15 +389,14 @@ registries) to your Docker daemon.
|
|||
|
||||
### Add custom CA certificates (server side)
|
||||
|
||||
All trusted CAs (root or intermediate) are supported.
|
||||
Docker for Mac creates a certificate bundle of all user-trusted CAs based on the
|
||||
Mac Keychain, 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
|
||||
for Mac.
|
||||
All trusted CAs (root or intermediate) are supported. Docker for Mac creates a
|
||||
certificate bundle of all user-trusted CAs based on the Mac Keychain, 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 for Mac.
|
||||
|
||||
To manually add a custom, self-signed certificate, start by adding
|
||||
the certificate to the macOS keychain, which is picked up by Docker for
|
||||
Mac. Here is an example.
|
||||
To manually add a custom, self-signed certificate, start by adding the
|
||||
certificate to the macOS keychain, which is picked up by Docker for Mac. Here is
|
||||
an example.
|
||||
|
||||
```bash
|
||||
$ sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ca.crt
|
||||
|
@ -364,14 +409,17 @@ than for all users), run this command instead:
|
|||
$ security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ca.crt
|
||||
```
|
||||
|
||||
See also, [Directory structures for certificates](#directory-structures-for-certificates).
|
||||
See also, [Directory structures for
|
||||
certificates](#directory-structures-for-certificates).
|
||||
|
||||
> **Note:** You need to restart Docker for Mac after making any changes to
|
||||
the keychain or to the `~/.docker/certs.d` directory in order for
|
||||
the changes to take effect.
|
||||
> **Note:** You need to restart Docker for Mac after making any changes to the
|
||||
keychain or to the `~/.docker/certs.d` directory in order for the changes to
|
||||
take effect.
|
||||
|
||||
For a complete explanation of how to do this, see the blog post
|
||||
[Adding Self-signed Registry Certs to Docker & Docker for Mac](http://container-solutions.com/adding-self-signed-registry-certs-docker-mac/){:target="_blank" class="_"}.
|
||||
For a complete explanation of how to do this, see the blog post [Adding
|
||||
Self-signed Registry Certs to Docker & Docker for
|
||||
Mac](http://container-solutions.com/adding-self-signed-registry-certs-docker-mac/){:target="_blank"
|
||||
class="_"}.
|
||||
|
||||
### Add client certificates
|
||||
|
||||
|
@ -384,15 +432,14 @@ folder on your Mac to the `/etc/docker/certs.d` directory on Moby (the Docker
|
|||
for Mac `xhyve` virtual machine).
|
||||
|
||||
> * You need to restart Docker for Mac 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 [Docker
|
||||
> Daemon](index.md#docker-daemon)). Docker for Mac 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.
|
||||
> Daemon](index.md#docker-daemon)). Docker for Mac 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.
|
||||
|
||||
### Directory structures for certificates
|
||||
|
||||
|
@ -443,10 +490,11 @@ installed both in Bash and Zsh.
|
|||
|
||||
### Bash
|
||||
|
||||
Bash has [built-in support for completion](https://www.debian-administration.org/article/316/An_introduction_to_bash_completion_part_1){:target="_blank" class="_"}
|
||||
To activate completion for Docker commands, these files need to be copied or
|
||||
symlinked to your `bash_completion.d/` directory. For example, if you installed
|
||||
bash via [Homebrew](http://brew.sh/):
|
||||
Bash has [built-in support for
|
||||
completion](https://www.debian-administration.org/article/316/An_introduction_to_bash_completion_part_1){:target="_blank"
|
||||
class="_"} To activate completion for Docker commands, these files need to be
|
||||
copied or symlinked to your `bash_completion.d/` directory. For example, if you
|
||||
installed bash via [Homebrew](http://brew.sh/):
|
||||
|
||||
```bash
|
||||
etc=/Applications/Docker.app/Contents/Resources/etc
|
||||
|
@ -457,10 +505,11 @@ ln -s $etc/docker-compose.bash-completion $(brew --prefix)/etc/bash_completion.d
|
|||
|
||||
### Zsh
|
||||
|
||||
In Zsh, the [completion system](http://zsh.sourceforge.net/Doc/Release/Completion-System.html){:target="_blank" class="_"}
|
||||
takes care of things. To activate completion for Docker commands, these files
|
||||
need to be copied or symlinked to your Zsh `site-functions/` directory. For
|
||||
example, if you installed Zsh via [Homebrew](http://brew.sh/):
|
||||
In Zsh, the [completion
|
||||
system](http://zsh.sourceforge.net/Doc/Release/Completion-System.html){:target="_blank"
|
||||
class="_"} takes care of things. To activate completion for Docker commands,
|
||||
these files need to be copied or symlinked to your Zsh `site-functions/`
|
||||
directory. For example, if you installed Zsh via [Homebrew](http://brew.sh/):
|
||||
|
||||
```bash
|
||||
etc=/Applications/Docker.app/Contents/Resources/etc
|
||||
|
@ -486,39 +535,51 @@ options at the bottom of each docs page.
|
|||
## Docker Store
|
||||
|
||||
Choose **Docker Store** from the Docker for Mac menu to get to the Docker app
|
||||
downloads site. [Docker store](https://store.docker.com/){:target="_blank" class="_"} is a component of the
|
||||
next-generation Docker Hub, and the best place to find compliant, trusted
|
||||
commercial and free software distributed as Docker Images.
|
||||
downloads site. [Docker store](https://store.docker.com/){:target="_blank"
|
||||
class="_"} is a component of the next-generation Docker Hub, and the best place
|
||||
to find compliant, trusted commercial and free software distributed as Docker
|
||||
Images.
|
||||
|
||||
{:width="550px"}
|
||||
|
||||
## Docker Cloud
|
||||
|
||||
You can access your [Docker Cloud](/docker-cloud/index.md){:target="_blank" class="_"} account from within Docker for Mac.
|
||||
You can access your [Docker Cloud](/docker-cloud/index.md){:target="_blank"
|
||||
class="_"} account from within Docker for Mac.
|
||||
|
||||
{:width="550px"}
|
||||
|
||||
From the Docker for Mac menu, sign in to Docker Cloud with your Docker ID, or create one.
|
||||
From the Docker for Mac menu, sign in to Docker Cloud with your Docker ID, or
|
||||
create one.
|
||||
|
||||
{: .with-border width="250px"}
|
||||
|
||||
Then use the Docker for Mac menu to create, view, or navigate directly to your
|
||||
Cloud resources, including **organizations**, **repositories**, and **swarms**.
|
||||
|
||||
Check out these [Docker Cloud topics](/docker-cloud/index.md){:target="_blank" class="_"} to learn more:
|
||||
Check out these [Docker Cloud topics](/docker-cloud/index.md){:target="_blank"
|
||||
class="_"} to learn more:
|
||||
|
||||
* [Organizations and Teams in Docker Cloud](/docker-cloud/orgs/index.md){:target="_blank" class="_"}
|
||||
* [Organizations and Teams in Docker
|
||||
Cloud](/docker-cloud/orgs/index.md){:target="_blank" class="_"}
|
||||
* [Builds and Images](/docker-cloud/builds/index.md){:target="_blank" class="_"}
|
||||
* [Swarms in Docker Cloud](/docker-cloud/cloud-swarm/index.md){:target="_blank" class="_"}
|
||||
* [Swarms in Docker Cloud](/docker-cloud/cloud-swarm/index.md){:target="_blank"
|
||||
class="_"}
|
||||
|
||||
Need a direct link to Cloud? [Take me to Docker Cloud](https://cloud.docker.com/){: target="_blank" class="_" }.
|
||||
Need a direct link to Cloud? [Take me to Docker
|
||||
Cloud](https://cloud.docker.com/){: target="_blank" class="_" }.
|
||||
|
||||
## 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="_"}.
|
||||
|
||||
* Dig in deeper with [Docker Labs](https://github.com/docker/labs/) example walkthroughs and source code.
|
||||
* Dig in deeper with [Docker Labs](https://github.com/docker/labs/) example
|
||||
walkthroughs and source code.
|
||||
|
||||
* For a summary of Docker command line interface (CLI) commands, see [Docker CLI Reference Guide](/engine/api.md){: target="_blank" class="_"}.
|
||||
* For a summary of Docker command line interface (CLI) commands, see [Docker CLI
|
||||
Reference Guide](/engine/api.md){: target="_blank" class="_"}.
|
||||
|
||||
* Check out the blog post, [What’s New in Docker 17.06 Community Edition (CE)](https://blog.docker.com/2017/07/whats-new-docker-17-06-community-edition-ce/){: target="_blank" class="_"}.
|
||||
* Check out the blog post, [What’s New in Docker 17.06 Community Edition
|
||||
(CE)](https://blog.docker.com/2017/07/whats-new-docker-17-06-community-edition-ce/){:
|
||||
target="_blank" class="_"}.
|
||||
|
|
|
@ -7,7 +7,7 @@ notoc: true
|
|||
|
||||
Docker Desktop Editions are built using open source software.
|
||||
For details on the licensing, choose
|
||||
{: .inline} -->
|
||||
{: .inline} →
|
||||
**About Docker** from within the application, then click **Acknowledgements**.
|
||||
|
||||
Docker Desktop Editions distribute some components that are licensed under the
|
||||
|
|
|
@ -25,21 +25,24 @@ GitHub](https://github.com/docker/for-mac/issues), or the [Docker for Mac
|
|||
forum](https://forums.docker.com/c/docker-for-mac), we can help you troubleshoot
|
||||
the log data.
|
||||
|
||||
Choose {: .inline} -->
|
||||
**Diagnose & Feedback** from the menu bar.
|
||||
Choose {: .inline} → **Diagnose & Feedback**
|
||||
from the menu bar.
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
Select **Diagnose**. It runs diagnostics, shows results, and uploads the
|
||||
results to Docker. A diagnostic ID is generated, which must be provided when
|
||||
communicating with the Docker Team. Optionally, you can open an issue on GitHub
|
||||
using the uploaded results and ID as a basis.
|
||||
Once 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
|
||||
[how is personal data handled in Docker
|
||||
Desktop](https://docs.docker.com/docker-for-mac/faqs/#how-is-personal-data-handled-in-docker-desktop).
|
||||
|
||||
{:width="600px"}
|
||||
{:width="600px"}
|
||||
|
||||
If you click **Report an issue**, this opens [Docker for Mac issues on
|
||||
GitHub](https://github.com/docker/for-mac/issues/) in your web browser in a
|
||||
“create new issue” template, to be completed before submission.
|
||||
"create new issue" template, to be completed before submission. Do not forget to
|
||||
copy/paste your diagnostic ID.
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
|
@ -48,57 +51,34 @@ GitHub](https://github.com/docker/for-mac/issues/) in your web browser in a
|
|||
On occasions it is useful to run the diagnostics yourself, for instance if
|
||||
Docker for Mac cannot start.
|
||||
|
||||
First locate the `docker-diagnose` tool. If you installed Docker for Mac in the
|
||||
Applications directory, then it is
|
||||
`/Applications/Docker.app/Contents/Resources/bin/docker-diagnose`. Pass
|
||||
`--help` to see the supported options:
|
||||
|
||||
```sh
|
||||
$ /Applications/Docker.app/Contents/Resources/bin/docker-diagnose --help
|
||||
```
|
||||
First locate the `com.docker.diagnose` tool. If you installed Docker for Mac in
|
||||
the Applications directory, then it is
|
||||
`/Applications/Docker.app/Contents/MacOS/com.docker.diagnose`.
|
||||
|
||||
Then to create *and upload* diagnostics, run:
|
||||
|
||||
```sh
|
||||
$ /Applications/Docker.app/Contents/Resources/bin/docker-diagnose \
|
||||
--upload --last 1d
|
||||
macOS: version 10.13.4 (build: 17E202)
|
||||
Docker.app: version: 18.06.0-ce-rc1-mac67 (1fa4e2acfc1a52f79623add2390604515d32297e)
|
||||
Local time: Fri May 25 14:50:51 CEST 2018
|
||||
UTC: Fri May 25 12:50:51 UTC 2018
|
||||
Timestamp: 20180525-145051
|
||||
Running diagnostic tests:
|
||||
[OK] Files
|
||||
[OK] console-ring does not exist
|
||||
[OK] Kubernetes (disabled)
|
||||
[OK] Docker CLI
|
||||
[OK] environment
|
||||
[OK] vmnetd
|
||||
[OK] osxfs
|
||||
[OK] VPNKit
|
||||
[OK] driver.amd64-linux
|
||||
[OK] Docker
|
||||
[OK] VT-x
|
||||
[OK] kern.hv_support
|
||||
[OK] Hypervisor
|
||||
[OK] Disk
|
||||
Docker logs are being collected into /tmp/D1F48686-F045-4708-85E3-0635B729A596/20180525-145051.tar.gz
|
||||
Your unique id is: D1F48686-F045-4708-85E3-0635B729A596
|
||||
Please quote this in all correspondence.
|
||||
$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather -upload
|
||||
```
|
||||
After the diagnostics have finished, you should have the following output,
|
||||
containing your diagnostics ID:
|
||||
|
||||
```sh
|
||||
Diagnostics Bundle: /tmp/B8CF8400-47B3-4068-ADA4-3BBDCE3985D9/20180726143610.zip
|
||||
Diagnostics ID: B8CF8400-47B3-4068-ADA4-3BBDCE3985D9/20180726143610 (uploaded)
|
||||
```
|
||||
|
||||
The diagnostics ID (here D1F48686-F045-4708-85E3-0635B729A596/20180525-145051)
|
||||
is composed of your user ID (D1F48686-F045-4708-85E3-0635B729A596) and a
|
||||
timestamp (20180525-145051). Be sure to provide us with the full diagnostics
|
||||
ID, not just the user ID.
|
||||
The diagnostics ID (here B8CF8400-47B3-4068-ADA4-3BBDCE3985D9/20180726143610) is
|
||||
composed of your user ID (D1F48686-F045-4708-85E3-0635B729A596) and a timestamp
|
||||
(20180525-145051). Be sure to provide us with the full diagnostics ID, not just
|
||||
the user ID.
|
||||
|
||||
Don't hesitate browsing the content of these diagnostics:
|
||||
|
||||
```sh
|
||||
$ open /tmp/D1F48686-F045-4708-85E3-0635B729A596/20180525-145051.tar.gz
|
||||
$ open /tmp/D1F48686-F045-4708-85E3-0635B729A596/20180525-145051.zip
|
||||
```
|
||||
|
||||
|
||||
<a name="logs"></a>
|
||||
## Check the logs
|
||||
|
||||
|
@ -147,10 +127,9 @@ ways, and create reports.
|
|||
|
||||
### Make sure certificates are set up correctly
|
||||
|
||||
Docker for Mac 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:
|
||||
Docker for Mac 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:
|
||||
|
||||
```
|
||||
Error response from daemon: Get http://192.168.203.139:5858/v2/: malformed HTTP response "\x15\x03\x01\x00\x02\x02"
|
||||
|
@ -163,9 +142,8 @@ As well as on the registry. For example:
|
|||
2017/06/20 18:15:30 http: TLS handshake error from 192.168.203.139:52883: tls: first record does not look like a TLS handshake
|
||||
```
|
||||
|
||||
For more about using client and server side certificates, see [Adding
|
||||
TLS certificates](index.md#adding-tls-certificates) in
|
||||
the Getting Started topic.
|
||||
For more about using client and server side certificates, see [Adding TLS
|
||||
certificates](index.md#adding-tls-certificates) in the Getting Started topic.
|
||||
|
||||
### Docker for Mac does not start if Mac user account and home folder are renamed after installing the app
|
||||
|
||||
|
@ -181,8 +159,8 @@ cannot start, such as when using [Docker Compose](/compose/gettingstarted.md),
|
|||
you might need to enable [file sharing](index.md#file-sharing).
|
||||
|
||||
Volume mounting requires shared drives for projects that live outside of the
|
||||
`/Users` directory. Go to {: .inline} -->
|
||||
**Preferences** --> **File sharing** and share the drive that contains the
|
||||
`/Users` directory. Go to {: .inline} →
|
||||
**Preferences** → **File sharing** and share the drive that contains the
|
||||
Dockerfile and volume.
|
||||
|
||||
### Incompatible CPU detected
|
||||
|
@ -204,8 +182,8 @@ terminal window.
|
|||
sysctl kern.hv_support
|
||||
```
|
||||
|
||||
If your Mac supports the Hypervisor Framework,
|
||||
the command prints `kern.hv_support: 1`.
|
||||
If your Mac supports the Hypervisor Framework, the command prints
|
||||
`kern.hv_support: 1`.
|
||||
|
||||
If not, the command prints `kern.hv_support: 0`.
|
||||
|
||||
|
@ -220,9 +198,9 @@ know before you install](install.md#what-to-know-before-you-install).
|
|||
* If Docker for Mac fails to install or start properly:
|
||||
|
||||
* Make sure you quit Docker for Mac before installing a new version of the
|
||||
application ({: .inline} --> **Quit
|
||||
Docker**). Otherwise, you get an "application in use" error when you try to
|
||||
copy the new app from the `.dmg` to `/Applications`.
|
||||
application ({: .inline} → **Quit
|
||||
Docker**). Otherwise, you get an "application in use" error when you try to
|
||||
copy the new app from the `.dmg` to `/Applications`.
|
||||
|
||||
* Restart your Mac to stop / discard any vestige of the daemon running from
|
||||
the previously installed version.
|
||||
|
@ -251,10 +229,10 @@ know before you install](install.md#what-to-know-before-you-install).
|
|||
* For the `hello-world-nginx` example, Docker for Mac 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 for Mac Engine (not Engine from
|
||||
Toolbox). Otherwise, you might start the webserver container but get a "web
|
||||
page not available" error when you go to `localhost`. For more on
|
||||
distinguishing between the two environments, see [Docker for Mac vs. Docker
|
||||
is connected to the Docker for Mac Engine (not Engine from Toolbox).
|
||||
Otherwise, you might start the webserver container but get a "web page not
|
||||
available" error when you go to `localhost`. For more on distinguishing
|
||||
between the two environments, see [Docker for Mac vs. Docker
|
||||
Toolbox](docker-toolbox.md).
|
||||
|
||||
<p></p>
|
||||
|
@ -297,9 +275,8 @@ know before you install](install.md#what-to-know-before-you-install).
|
|||
resources. Reboot and restart Docker to resolve these issues.
|
||||
|
||||
* Docker does not auto-start on login even when it is enabled in {: .inline} --> **Preferences**. This
|
||||
is related to a set of issues with Docker helper, registration, and
|
||||
versioning.
|
||||
menu](images/whale-x.png){: .inline} → **Preferences**. This is related to a
|
||||
set of issues with Docker helper, registration, and versioning.
|
||||
|
||||
<p></p>
|
||||
|
||||
|
@ -309,9 +286,9 @@ know before you install](install.md#what-to-know-before-you-install).
|
|||
[Intel Hardware Accelerated Execution Manager
|
||||
(HAXM)](https://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager/),
|
||||
the current workaround is not to run them at the same time. You can pause
|
||||
`HyperKit` by quitting Docker for Mac temporarily while you work with
|
||||
HAXM. This allows you to continue work with the other tools and prevent
|
||||
`HyperKit` from interfering.
|
||||
`HyperKit` by quitting Docker for Mac temporarily while you work with HAXM.
|
||||
This allows you to continue work with the other tools and prevent `HyperKit`
|
||||
from interfering.
|
||||
|
||||
|
||||
* If you are working with applications like [Apache
|
||||
|
@ -351,7 +328,8 @@ know before you install](install.md#what-to-know-before-you-install).
|
|||
- Symfony
|
||||
- Magento
|
||||
- Zend Framework
|
||||
- PHP applications that use [Composer](https://getcomposer.org) to install dependencies in a ```vendor``` folder<br><br>
|
||||
- PHP applications that use [Composer](https://getcomposer.org) to install
|
||||
dependencies in a ```vendor``` folder<br><br>
|
||||
|
||||
As a work-around for this behavior, you can put vendor or third-party library
|
||||
directories in Docker volumes, perform temporary file system operations
|
||||
|
@ -362,15 +340,17 @@ know before you install](install.md#what-to-know-before-you-install).
|
|||
and roadmap](osxfs.md#performance-issues-solutions-and-roadmap).
|
||||
|
||||
* If your system does not have access to an NTP server, then after a hibernate
|
||||
the time seen by Docker for Mac may be considerably out of sync with the
|
||||
host. Furthermore, the time may slowly drift out of sync during use. To
|
||||
manually reset the time after hibernation, run:
|
||||
the time seen by Docker for Mac may be considerably out of sync with the host.
|
||||
Furthermore, the time may slowly drift out of sync during use. To manually
|
||||
reset the time after hibernation, run:
|
||||
|
||||
```bash
|
||||
docker run --rm --privileged alpine hwclock -s
|
||||
```
|
||||
|
||||
Or, to resolve both issues, you can add the local clock as a low-priority (high stratum) fallback NTP time source for the host. To do this, edit the host's `/etc/ntp-restrict.conf` to add:
|
||||
Or, to resolve both issues, you can add the local clock as a low-priority
|
||||
(high stratum) fallback NTP time source for the host. To do this, edit the
|
||||
host's `/etc/ntp-restrict.conf` to add:
|
||||
|
||||
```
|
||||
server 127.127.1.1 # LCL, local clock
|
||||
|
|
|
@ -24,7 +24,7 @@ Two different download channels are available for Docker for Windows:
|
|||
* 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 Windows comes with the latest released version of Docker Engine. The
|
||||
release schedule is synched 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.
|
||||
|
||||
* The **Edge channel** provides an installer with new features we are working on,
|
||||
|
@ -70,6 +70,7 @@ Do the following each time:
|
|||
|
||||
|
||||
### Feedback
|
||||
|
||||
#### What kind of feedback are we looking for?
|
||||
|
||||
Everything is fair game. We'd like your impressions on the download-install
|
||||
|
@ -150,8 +151,8 @@ topic
|
|||
No, at this point, Docker for Windows 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
|
||||
[0755](http://permissions-calculator.org/decode/0755/){: target="_blank" class="_"}
|
||||
(`read`, `write`, `execute` permissions for `user`, `read` and `execute` for
|
||||
[0777](http://permissions-calculator.org/decode/0777/){: target="_blank" class="_"}
|
||||
(`read`, `write`, `execute` permissions for `user` and for
|
||||
`group`) which is not configurable.
|
||||
|
||||
For workarounds and to learn more, see
|
||||
|
@ -281,5 +282,4 @@ in [Troubleshooting](troubleshoot).
|
|||
You might decide that you do not need Toolbox now that you have Docker 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.
|
||||
[How to uninstall Toolbox](/toolbox/toolbox_install_windows#how-to-uninstall-toolbox) in the Toolbox Windows topics.
|
||||
|
|
After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 213 KiB After Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 176 KiB |
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 85 KiB |
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 70 KiB |
|
@ -240,8 +240,7 @@ credentials so that you don't need to enter them every time.
|
|||
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 for Windows sets permissions to read/write/execute for users and
|
||||
read/execute for groups and others [0755 or u+rwx,go+rx](http://permissions-calculator.org/decode/0755/).
|
||||
* Docker for Windows 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).
|
||||
|
@ -297,7 +296,7 @@ You can configure Docker for Windows networking to work on a virtual private net
|
|||
|
||||
{:width="600px"}
|
||||
|
||||
* **Internal Virtual Switch** - You can specify a network address translation (NAT) prefix and subnet mask to enable internet connectivity.
|
||||
* **Internal Virtual Switch** - You can specify a network address translation (NAT) prefix and subnet mask to enable Internet connectivity.
|
||||
|
||||
* **DNS Server** - You can configure the DNS server to use dynamic or static IP addressing.
|
||||
|
||||
|
@ -427,12 +426,11 @@ For a full list of options on the Docker daemon, see [daemon](/engine/reference/
|
|||
|
||||
[Kubernetes on Docker 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 edge channels only.
|
||||
[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"}
|
||||
|
||||
Docker for Windows 18.02 CE Edge and higher include a standalone Kubernetes
|
||||
server that runs on your Windows host, so that you can test deploying your
|
||||
From Docker 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
|
||||
|
@ -445,6 +443,10 @@ 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 for Windows menu:
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
If you installed `kubectl` by another method, and
|
||||
experience conflicts, remove it.
|
||||
|
||||
|
@ -452,7 +454,7 @@ experience conflicts, remove it.
|
|||
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
|
||||
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.
|
||||
|
||||
|
@ -468,18 +470,6 @@ experience conflicts, remove it.
|
|||
For more about using the Kubernetes integration with Docker for Windows,
|
||||
see [Deploy on Kubernetes](kubernetes.md).
|
||||
|
||||
### Diagnose & feedback
|
||||
|
||||
Use this tab to troubleshoot problems and get help from Docker.
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
Log on to our [Docker for Windows forum](https://forums.docker.com/c/docker-for-windows) to get help from the community, review current user topics, or join a discussion.
|
||||
|
||||
Log on to [Docker for Windows issues on GitHub](https://github.com/docker/for-win/issues) to report bugs or problems and review community reported issues. See [Logs and Troubleshooting](troubleshoot.md) for more details.
|
||||
|
||||
To give feedback on the documentation or update it yourself, use the Feedback options at the bottom of each docs page.
|
||||
|
||||
### Reset
|
||||
|
||||
On the Reset tab, you can restart Docker or reset its configuration.
|
||||
|
@ -491,6 +481,16 @@ On the Reset tab, you can restart Docker or reset its configuration.
|
|||
* **Reset to factory defaults** - Resets Docker to factory defaults. This is
|
||||
useful in cases where Docker stops working or becomes unresponsive.
|
||||
|
||||
### Diagnose & feedback
|
||||
|
||||
Visit our [Logs and Troubleshooting](troubleshoot.md) guide for more details.
|
||||
|
||||
Log on to our [Docker for Windows forum](https://forums.docker.com/c/docker-for-windows) to get help from the community, review current user topics, or join a discussion.
|
||||
|
||||
Log on to [Docker 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.
|
||||
|
||||
## Switch between Windows and Linux containers
|
||||
|
||||
From the Docker for Windows menu, you can toggle which daemon (Linux or Windows)
|
||||
|
|
|
@ -4,62 +4,83 @@ keywords: windows, beta, edge, alpha, install, download
|
|||
title: Install Docker for Windows
|
||||
---
|
||||
|
||||
Docker for Windows is the
|
||||
[Community Edition (CE)](https://www.docker.com/community-edition)
|
||||
of Docker for Microsoft Windows. To download Docker for Windows, head to Docker
|
||||
Store.
|
||||
Docker for Windows is the [Community Edition
|
||||
(CE)](https://www.docker.com/community-edition) of Docker for Microsoft Windows.
|
||||
To download Docker for Windows, head to Docker Store.
|
||||
|
||||
[Download from Docker Store](https://store.docker.com/editions/community/docker-ce-desktop-windows){: .button .outline-btn}
|
||||
[Download from Docker
|
||||
Store](https://store.docker.com/editions/community/docker-ce-desktop-windows){:
|
||||
.button .outline-btn}
|
||||
|
||||
## What to know before you install
|
||||
|
||||
If your system does not meet the requirements to run Docker for Windows, you can install
|
||||
[Docker Toolbox](/toolbox/overview.md), which uses Oracle Virtual Box instead of
|
||||
Hyper-V.
|
||||
* **README FIRST for Docker Toolbox and Docker Machine users**: Docker for
|
||||
Windows requires Microsoft Hyper-V to run. The Docker for Windows installer
|
||||
enables Hyper-V for you, if needed, and restart 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 for Windows. However, you can still use
|
||||
`docker-machine` to manage remote VMs.
|
||||
|
||||
* **README FIRST for Docker Toolbox and Docker Machine users**: Docker for Windows requires Microsoft Hyper-V to run. The Docker for Windows installer enables Hyper-V for you, if needed, and restart 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 for Windows. However, you can still use
|
||||
`docker-machine` to manage remote VMs.
|
||||
* Virtualization must be enabled in BIOS and CPU SLAT-capable. 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.
|
||||
* The current version of Docker for Windows runs on 64bit Windows 10 Pro, Enterprise and Education (1607 Anniversary Update, Build 14393 or later).
|
||||
* Containers and images created with Docker 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 for Windows
|
||||
on a VMWare or Parallels instance, might work, but come with no
|
||||
guarantees. For more information, see
|
||||
[Running Docker for Windows in nested virtualization scenarios](troubleshoot.md#running-docker-for-windows-in-nested-virtualization-scenarios)
|
||||
* **What the Docker 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).
|
||||
* **System Requirements**:
|
||||
- Windows 10 64bit: Pro, Enterprise or Education (1607 Anniversary Update,
|
||||
Build 14393 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.
|
||||
|
||||
> **Note**: If your system does not meet the requirements to run Docker for
|
||||
> Windows, you can install [Docker Toolbox](/toolbox/overview.md), which uses
|
||||
> Oracle Virtual Box instead of Hyper-V.
|
||||
|
||||
* **What the Docker 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 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 for Windows on a
|
||||
VMWare or Parallels instance, might work, but come with no guarantees. For
|
||||
more information, see [Running Docker for Windows in nested virtualization
|
||||
scenarios](troubleshoot.md#running-docker-for-windows-in-nested-virtualization-scenarios)
|
||||
|
||||
### About Windows containers
|
||||
|
||||
Looking for information on using Windows containers?
|
||||
|
||||
* [Switch between Windows and Linux containers](https://docs.docker.com/docker-for-windows/#switch-between-windows-and-linux-containers) describes the Linux / Windows containers toggle in Docker for Windows 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 with
|
||||
Windows containers.
|
||||
* Docker Container Platform for Windows Server 2016 [articles and blog posts](https://www.docker.com/microsoft/) on the Docker website
|
||||
* [Switch between Windows and Linux
|
||||
containers](https://docs.docker.com/docker-for-windows/#switch-between-windows-and-linux-containers)
|
||||
describes the Linux / Windows containers toggle in Docker for Windows 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
|
||||
with Windows containers.
|
||||
* Docker Container Platform for Windows Server 2016 [articles and blog
|
||||
posts](https://www.docker.com/microsoft/) on the Docker website
|
||||
|
||||
## Install Docker for Windows desktop app
|
||||
|
||||
1. Double-click **Docker for Windows Installer.exe** to run the installer.
|
||||
|
||||
If you haven't already downloaded the installer (`Docker for Windows Installer.exe`), you can get it from
|
||||
If you haven't already downloaded the installer (`Docker for Windows
|
||||
Installer.exe`), you can get it from
|
||||
[**download.docker.com**](https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe).
|
||||
It typically downloads to your `Downloads folder`, or you can run it from the recent downloads bar at the
|
||||
bottom of your web browser.
|
||||
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 install 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 install process.
|
||||
Privileged access is needed to install networking components, links to the Docker apps, and manage the
|
||||
Hyper-V VMs.
|
||||
You are asked to authorize `Docker.app` 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.
|
||||
|
||||
|
@ -77,7 +98,8 @@ accessible from any terminal window.
|
|||

|
||||
|
||||
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](index.md#docker-settings).
|
||||
taskbar to show it. To learn more, see [Docker
|
||||
Settings](index.md#docker-settings-dialog).
|
||||
|
||||
If you just installed the app, you also get a popup success message with
|
||||
suggested next steps, and a link to this documentation.
|
||||
|
@ -92,7 +114,10 @@ Congratulations! You are up and running with Docker for Windows.
|
|||
## Where to go next
|
||||
|
||||
* [Getting started](index.md) introduces Docker for Windows.
|
||||
* [Get started with Docker](/get-started/) is a tutorial that teaches you how to deploy a multi-service stack.
|
||||
* [Troubleshooting](troubleshoot.md) describes common problems, workarounds, and how to get support.
|
||||
* [Get started with Docker](/get-started/) is a tutorial that teaches you how to
|
||||
deploy a multi-service stack.
|
||||
* [Troubleshooting](troubleshoot.md) describes common problems, workarounds, and
|
||||
how to get support.
|
||||
* [FAQs](faqs.md) provides answers to frequently asked questions.
|
||||
* [Stable Release Notes](release-notes.md) or [Edge Release Notes](edge-release-notes.md).
|
||||
* [Stable Release Notes](release-notes.md) or [Edge Release
|
||||
Notes](edge-release-notes.md).
|
||||
|
|
|
@ -7,7 +7,7 @@ notoc: true
|
|||
|
||||
Docker Desktop Editions are built using open source software. For details on the
|
||||
licensing, choose {: .inline}
|
||||
--> **About** from within the application, then click **Acknowledgements**.
|
||||
→ **About** from within the application, then click **Acknowledgements**.
|
||||
|
||||
Docker Desktop Editions distribute some components that are licensed under the
|
||||
GNU General Public License. You can download the source for these components
|
||||
|
|
|
@ -7,18 +7,68 @@ redirect_from:
|
|||
title: Logs and troubleshooting
|
||||
---
|
||||
|
||||
This page explains how to diagnose and troubleshoot problems you may be having with Docker for Windows.
|
||||
Here is information about how to diagnose and troubleshoot problems, send logs
|
||||
and communicate with the Docker for Windows team, use our forums and Knowledge
|
||||
Hub, browse and log issues on GitHub, and find workarounds for known problems.
|
||||
|
||||
## Getting help
|
||||
## Docker Knowledge Hub
|
||||
|
||||
There are several ways to get the support you need with Docker for Windows. If you encounter problems not addressed here in the documentation:
|
||||
**Looking for help with Docker for Windows?** Check out the [Docker Knowledge
|
||||
Hub](http://success.docker.com/q) for knowledge base articles, FAQs, and
|
||||
technical support for various subscription levels.
|
||||
|
||||
- Refer to the knowledge base articles at the [Docker Success Center](https://success.docker.com/q/).
|
||||
- Browse the logs (in `User\AppData\Local\Docker`) by clicking **log file** in the Diagnose & Feedback window.
|
||||
- Ask questions on the [Docker for Windows forum](https://forums.docker.com/c/docker-for-windows).
|
||||
- Upload diagnostics in the Diagnose & Feedback window. You'll get a unique ID in return. You can then use this ID to submit issues at the [Docker for Windows GitHub repo](https://github.com/docker/for-win/issues).
|
||||
## Diagnose problems, send feedack, and create GitHub issues
|
||||
|
||||
{:width="500px"}
|
||||
### In-app diagnostics
|
||||
|
||||
If you encounter problems for which you do not find solutions in this
|
||||
documentation, on [Docker for Windows issues on
|
||||
GitHub](https://github.com/docker/for-win/issues), or the [Docker for Win
|
||||
forum](https://forums.docker.com/c/docker-for-windows), we can help you
|
||||
troubleshoot the log data.
|
||||
|
||||
Choose {: .inline} → **Diagnose & Feedback**
|
||||
from the menu bar.
|
||||
|
||||
{: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
|
||||
[how is personal data handled in Docker
|
||||
Desktop](https://docs.docker.com/docker-for-mac/faqs/#how-is-personal-data-handled-in-docker-desktop).
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
If you click on **Report an issue**, this opens [Docker 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
|
||||
copy/paste your diagnistic ID.
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
### Diagnosing from the terminal
|
||||
|
||||
On occasions it is useful to run the diagnostics yourself, for instance if
|
||||
Docker for Windows cannot start.
|
||||
|
||||
First locate the `com.docker.diagnose`, that should be in `C:\Program
|
||||
Files\Docker\Docker\resources\com.docker.diagnose.exe`.
|
||||
|
||||
To create *and upload* diagnostics in Powershell, run:
|
||||
|
||||
```powershell
|
||||
PS C:\> & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -upload
|
||||
```
|
||||
|
||||
After the diagnostics have finished, you should have the following output,
|
||||
containing your diagnostic ID:
|
||||
|
||||
```sh
|
||||
Diagnostics Bundle: C:\Users\User\AppData\Local\Temp\CD6CF862-9CBD-4007-9C2F-5FBE0572BBC2\20180720152545.zip
|
||||
Diagnostics ID: CD6CF862-9CBD-4007-9C2F-5FBE0572BBC2/20180720152545 (uploaded)
|
||||
```
|
||||
|
||||
## Troubleshooting topics
|
||||
|
||||
|
@ -41,25 +91,17 @@ As well as on the registry. For example:
|
|||
```
|
||||
|
||||
For more about using client and server side certificates, see [How do I add
|
||||
custom CA certificates?](index.md#how-do-i-add-custom-ca
|
||||
certificates) and [How do I add client
|
||||
certificates?](index.md#how-do-i-add-client-certificates) in
|
||||
the Getting Started topic.
|
||||
custom CA certificates?](index.md#how-do-i-add-custom-ca certificates) and [How
|
||||
do I add client certificates?](index.md#how-do-i-add-client-certificates) in the
|
||||
Getting Started topic.
|
||||
|
||||
### Volumes
|
||||
|
||||
#### Permissions errors on data directories for shared volumes
|
||||
|
||||
Docker for Windows sets permissions on [shared
|
||||
volumes](index.md#shared-drives) to a default value of
|
||||
[0755](http://permissions-calculator.org/decode/0755/) (`read`, `write`,
|
||||
`execute` permissions for `user`, `read` and `execute` for `group`). If you are
|
||||
working with applications that require permissions different than this default,
|
||||
you may get errors similar to the following.
|
||||
|
||||
```none
|
||||
Data directory (/var/www/html/data) is readable by other users. Please change the permissions to 0755 so that the directory cannot be listed by other users.
|
||||
```
|
||||
Docker for Windows 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`).
|
||||
|
||||
The default permissions on shared volumes are not configurable. If you are
|
||||
working with applications that require permissions different from the shared
|
||||
|
@ -67,9 +109,17 @@ 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 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 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.
|
||||
|
||||
See also, [Can I change permissions on shared volumes for container-specific deployment requirements?](faqs.md#can-i-change-permissions-on-shared-volumes-for-container-specific-deployment-requirements) in the FAQs, and for more of an explanation, the GitHub issue, [Controlling Unix-style perms on directories passed through from shared Windows drives](https://github.com/docker/docker.github.io/issues/3298).
|
||||
See also, [Can I change permissions on shared volumes for container-specific
|
||||
deployment
|
||||
requirements?](faqs.md#can-i-change-permissions-on-shared-volumes-for-container-specific-deployment-requirements)
|
||||
in the FAQs, and for more of an explanation, the GitHub issue, [Controlling
|
||||
Unix-style perms on directories passed through from shared Windows
|
||||
drives](https://github.com/docker/docker.github.io/issues/3298).
|
||||
|
||||
#### inotify on shared drives does not work
|
||||
|
||||
|
@ -78,39 +128,48 @@ 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.
|
||||
|
||||
* **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)
|
||||
* **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)
|
||||
|
||||
* **Docker 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 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
|
||||
|
||||
If you are using mounted volumes and get runtime errors indicating an application file is not found, access is denied to a volume mount, or a service cannot start, such as when using [Docker Compose](/compose/gettingstarted.md), you might need to enable [shared drives](index.md#shared-drives).
|
||||
If you are using mounted volumes and get runtime errors indicating an
|
||||
application file is not found, access is denied to a volume mount, or a service
|
||||
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 {: .inline}
|
||||
--> **Settings** --> **Shared Drives** and share the drive that contains the
|
||||
→ **Settings** → **Shared Drives** and share the drive that contains the
|
||||
Dockerfile and volume.
|
||||
|
||||
#### Verify domain user has permissions for shared drives (volumes)
|
||||
|
||||
> **Tip**: Shared drives are only required for volume mounting [Linux
|
||||
> containers](index.md#switch-between-windows-and-linux-containers),
|
||||
> not Windows containers.
|
||||
> containers](index.md#switch-between-windows-and-linux-containers), not Windows
|
||||
> containers.
|
||||
|
||||
Permissions to access shared drives are tied to the username and password you
|
||||
use to set up [shared drives](index.md#shared-drives). If
|
||||
you run `docker` commands and tasks under a different username than the one used
|
||||
to set up shared drives, your containers don't have permissions to access the
|
||||
mounted volumes. The volumes show as empty.
|
||||
use to set up [shared drives](index.md#shared-drives). If you run `docker`
|
||||
commands and tasks under a different username than the one used to set up shared
|
||||
drives, your containers don't have permissions to access the mounted volumes.
|
||||
The volumes show as empty.
|
||||
|
||||
The solution to this is to switch to the domain user account and reset
|
||||
credentials on shared drives.
|
||||
|
||||
Here is an example of how to de-bug this problem, given a scenario where you
|
||||
Here is an example of how to debug this problem, given a scenario where you
|
||||
shared the `C` drive as a local user instead of as the domain user. Assume the
|
||||
local user is `samstevens` and the domain user is `merlin`.
|
||||
|
||||
1. Make sure you are logged in as the Windows domain user (for our example, `merlin`).
|
||||
1. Make sure you are logged in as the Windows domain user (for our example,
|
||||
`merlin`).
|
||||
|
||||
2. Run `net share c` to view user permissions for `<host>\<username>, FULL`.
|
||||
|
||||
|
@ -132,9 +191,8 @@ local user is `samstevens` and the domain user is `merlin`.
|
|||
> net share c /delete
|
||||
```
|
||||
|
||||
4. Re-share the drive via the [Shared Drives
|
||||
dialog](index.md#shared-drives), and provide the Windows
|
||||
domain user account credentials.
|
||||
4. Re-share the drive via the [Shared Drives dialog](index.md#shared-drives),
|
||||
and provide the Windows domain user account credentials.
|
||||
|
||||
5. Re-run `net share c`.
|
||||
|
||||
|
@ -199,7 +257,8 @@ error(5): I/O error Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
|
|||
mount: mounting //10.0.75.1/C on /c failed: Invalid argument
|
||||
```
|
||||
|
||||
See also, <a href="https://github.com/docker/for-win/issues/98">Docker for Windows issue #98</a>.
|
||||
See also, <a href="https://github.com/docker/for-win/issues/98">Docker for
|
||||
Windows issue #98</a>.
|
||||
|
||||
#### Understand symlinks limitations
|
||||
|
||||
|
@ -229,7 +288,8 @@ script](https://github.com/moby/moby/issues/24388).
|
|||
|
||||
In order for Docker for Windows to function properly your machine needs:
|
||||
|
||||
1. [Hyper-V](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview) installed and working
|
||||
1. [Hyper-V](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview)
|
||||
installed and working
|
||||
|
||||
2. Virtualization enabled
|
||||
|
||||
|
@ -241,10 +301,17 @@ Docker for Windows requires a Hyper-V as well as the Hyper-V Module for Windows
|
|||
Powershell to be installed and enabled. The Docker for Windows installer enables
|
||||
it for you.
|
||||
|
||||
See [these instructions](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install) to install Hyper-V manually. A reboot is *required*. If you install Hyper-V without the reboot, Docker for Windows does not work correctly. On some systems, Virtualization needs to be enabled in the BIOS. The steps to do so are Vendor specific, but typically the BIOS option is called `Virtualization Technology (VTx)` or similar.
|
||||
See [these
|
||||
instructions](https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install)
|
||||
to install Hyper-V manually. A reboot is *required*. If you install Hyper-V
|
||||
without the reboot, Docker for Windows does not work correctly. On some systems,
|
||||
Virtualization needs to be enabled in the BIOS. The steps to do so are Vendor
|
||||
specific, but typically the BIOS option is called `Virtualization Technology
|
||||
(VTx)` or similar.
|
||||
|
||||
|
||||
From the start menu, type in "Turn Windows features on or off" and hit enter. In the subsequent screen, verify Hyper-V is enabled and has a checkmark:
|
||||
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:
|
||||
|
||||
{:width="600px"}
|
||||
|
||||
|
@ -264,13 +331,14 @@ Machine driver example](/machine/drivers/hyper-v.md#example).
|
|||
|
||||
#### Virtualization must be enabled
|
||||
|
||||
In addition to [Hyper-V](#hyper-v), virtualization must be enabled. Check the Performance tab on the
|
||||
Task Manager:
|
||||
In addition to [Hyper-V](#hyper-v), virtualization must be enabled. Check the
|
||||
Performance tab on the Task Manager:
|
||||
|
||||
{:width="700px"}
|
||||
|
||||
If, at some point, if you manually uninstall Hyper-V or disable virtualization,
|
||||
Docker for Windows cannot start. See: [Unable to run Docker for Windows on Windows 10 Enterprise](https://github.com/docker/for-win/issues/74).
|
||||
Docker for Windows 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 for Windows install
|
||||
|
||||
|
@ -278,42 +346,50 @@ Some users have encountered networking issues during install and startup of
|
|||
Docker for Windows. For example, upon install or auto-reboot, network adapters
|
||||
and/or WiFi gets 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 for Windows issue on GitHub:
|
||||
[Enabling Hyper-V feature turns my wi-fi off
|
||||
](https://github.com/docker/for-win/issues/139).)
|
||||
is not the case. (See also, Docker for Windows issue on GitHub: [Enabling
|
||||
Hyper-V feature turns my wi-fi
|
||||
off](https://github.com/docker/for-win/issues/139).)
|
||||
|
||||
Here are some steps to take if you encounter similar problems:
|
||||
|
||||
1. Ensure **virtualization** is enabled, as described above in [Virtualization must be enabled](#virtualization-must-be-enabled).
|
||||
1. Ensure **virtualization** is enabled, as described above in [Virtualization
|
||||
must be enabled](#virtualization-must-be-enabled).
|
||||
|
||||
2. Ensure **Hyper-V** is installed and enabled, as described above in [Hyper-V must be enabled](#hyper-v-must-be-enabled).
|
||||
2. Ensure **Hyper-V** is installed and enabled, as described above in [Hyper-V
|
||||
must be enabled](#hyper-v-must-be-enabled).
|
||||
|
||||
3. Ensure **DockerNAT** is enabled by checking the **Virtual Switch Manager** on the Actions tab on the right side of the **Hyper-V Manager**.
|
||||
3. Ensure **DockerNAT** is enabled by checking the **Virtual Switch Manager**
|
||||
on the Actions tab on the right side of the **Hyper-V Manager**.
|
||||
|
||||

|
||||
|
||||
4. Set up an external network switch. If you plan at any point to use
|
||||
[Docker Machine](/machine/overview.md) to set up multiple local VMs, you
|
||||
need this anyway, as described in the topic on the
|
||||
[Hyper-V driver for Docker Machine](/machine/drivers/hyper-v.md#example).
|
||||
You can replace `DockerNAT` with this switch.
|
||||
4. Set up an external network switch. If you plan at any point to use [Docker
|
||||
Machine](/machine/overview.md) to set up multiple local VMs, you need this
|
||||
anyway, as described in the topic on the [Hyper-V driver for Docker
|
||||
Machine](/machine/drivers/hyper-v.md#example). You can replace `DockerNAT`
|
||||
with this switch.
|
||||
|
||||
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).
|
||||
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
|
||||
>
|
||||
> The cleanup command has two flags, `-Cleanup` and `-ForceDeleteAllSwitches`.
|
||||
> Read the whole page before running any scripts, especially warnings about `-ForceDeleteAllSwitches`.
|
||||
> {: .warning}
|
||||
>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
|
||||
|
||||
If you have questions about how to set up and run Windows containers on Windows
|
||||
Server 2016 or Windows 10, see [About Windows containers and Windows Server 2016](index.md#about-windows-containers-and-windows-server-2016).
|
||||
Docker Desktop is not supported on Windows Server 2016, instead you can use
|
||||
[Docker Enterprise Basic Edition](/ee/index) at no aditional cost.
|
||||
|
||||
If you have questions about how to run Windows containers on Windows 10, see
|
||||
[Switch between Windows and Linux
|
||||
containers](index.md#switch-between-windows-and-linux-containers).
|
||||
|
||||
A full tutorial is available in [docker/labs](https://github.com/docker/labs) at
|
||||
[Getting Started with Windows Containers](https://github.com/docker/labs/blob/master/windows/windows-containers/README.md).
|
||||
[Getting Started with Windows
|
||||
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 for Windows. However, if you install Docker
|
||||
|
@ -349,10 +425,14 @@ Using `curl http://localhost`, or pointing your web browser at
|
|||
`http://localhost` does not display the `nginx` web page (as it would do with
|
||||
Linux containers).
|
||||
|
||||
To reach a Windows container from the local host, you need to specify
|
||||
the IP address and port for the container that is running the service.
|
||||
To reach a Windows container from the local host, you need to specify the IP
|
||||
address and port for the container that is running the service.
|
||||
|
||||
You can get the container IP address by using [`docker inspect`](/engine/reference/commandline/inspect.md) with some `--format` options and the ID or name of the container. For the example above, the command would look like this, using the name we gave to the container (`webserver`) instead of the container ID:
|
||||
You can get the container IP address by using [`docker
|
||||
inspect`](/engine/reference/commandline/inspect.md) with some `--format` options
|
||||
and the ID or name of the container. For the example above, the command would
|
||||
look like this, using the name we gave to the container (`webserver`) instead of
|
||||
the container ID:
|
||||
|
||||
{% raw %}
|
||||
```bash
|
||||
|
@ -391,7 +471,12 @@ For more information, see:
|
|||
|
||||
### Running Docker for Windows in nested virtualization scenarios
|
||||
|
||||
Docker 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 for Windows is not supported for nested virtualization scenarios**_. It might work in some cases, and not in others.
|
||||
Docker 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 for
|
||||
Windows is not supported for nested virtualization scenarios**_. It might work
|
||||
in some cases, and not in others.
|
||||
|
||||
The better solution is to run Docker for Windows natively on a Windows system
|
||||
(to work with Windows or Linux containers), or Docker for Mac on Mac to work
|
||||
|
@ -400,8 +485,8 @@ 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
|
||||
nested virtualization** (the exact menu sequence might vary slightly).
|
||||
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
|
||||
workloads.
|
||||
|
@ -421,10 +506,10 @@ nested virtualization** (the exact menu sequence might vary slightly).
|
|||
prefixed with `Moby`. On real hardware, it takes 5-10 seconds to boot the
|
||||
Linux VM; roughly the time between the `Connected` log entry and the `*
|
||||
Starting Docker ... [ ok ]` log entry. If you boot the Linux VM inside a
|
||||
Windows VM, this may take considerably longer. We have a timeout of 60s or
|
||||
so. If the VM hasn't started by that time, we retry. If the retry fails we
|
||||
print an error. You can sometimes work around this by providing more resources
|
||||
to the Windows VM.
|
||||
Windows VM, this may take considerably longer. We have a timeout of 60s or so.
|
||||
If the VM hasn't started by that time, we retry. If the retry fails we print
|
||||
an error. You can sometimes work around this by providing more resources to
|
||||
the Windows VM.
|
||||
|
||||
* Sometimes the VM fails to boot when Linux tries to calibrate the time stamp
|
||||
counter (TSC). This process is quite timing sensitive and may fail when
|
||||
|
@ -433,11 +518,13 @@ nested virtualization** (the exact menu sequence might vary slightly).
|
|||
|
||||
#### Related issues
|
||||
|
||||
Discussion thread on GitHub at [Docker for Windows issue 267](https://github.com/docker/for-win/issues/267)
|
||||
Discussion thread on GitHub at [Docker for Windows issue
|
||||
267](https://github.com/docker/for-win/issues/267)
|
||||
|
||||
### Networking issues
|
||||
|
||||
Some users have reported problems connecting to Docker Hub on the Docker for Windows stable version. (See GitHub issue
|
||||
Some users have reported problems connecting to Docker Hub on the Docker for
|
||||
Windows stable version. (See GitHub issue
|
||||
[22567](https://github.com/moby/moby/issues/22567).)
|
||||
|
||||
Here is an example command and error message:
|
||||
|
@ -453,9 +540,9 @@ 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). Docker automatically restarts
|
||||
when you apply this setting, which could take some time.
|
||||
→ **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.
|
||||
|
||||
|
@ -471,10 +558,10 @@ under [Settings](index.md#docker-settings).
|
|||
### `inotify` currently does not work on Docker for Windows
|
||||
|
||||
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 applications](https://github.com/remy/nodemon#application-isnt-restarting). See
|
||||
also this issue on GitHub
|
||||
[Inotify on shared drives does not work](https://github.com/docker/for-win/issues/56#issuecomment-242135705).
|
||||
fallback polling mode described here: [nodemon isn't restarting node
|
||||
applications](https://github.com/remy/nodemon#application-isnt-restarting). See
|
||||
also this issue on GitHub [Inotify on shared drives does not
|
||||
work](https://github.com/docker/for-win/issues/56#issuecomment-242135705).
|
||||
|
||||
### Reboot
|
||||
|
||||
|
@ -503,7 +590,7 @@ or `listen tcp:0.0.0.0:8080: bind: address is already in use` ...
|
|||
|
||||
These errors are often caused by some other software on Windows using those
|
||||
ports. To discover the identity of this software, either use the `resmon.exe`
|
||||
GUI and click "Network" and then "Listening Ports" or in a powershell use
|
||||
GUI and click "Network" and then "Listening Ports" or in a Powershell use
|
||||
`netstat -aon | find /i "listening "` to discover the PID of the process
|
||||
currently using the port (the PID is the number in the rightmost column). Decide
|
||||
whether to shut the other process down, or to use a different port in your
|
||||
|
@ -519,13 +606,13 @@ 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).
|
||||
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 for Windows 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).
|
||||
relates to Docker: [Docker fails to start on Windows
|
||||
10](https://github.com/docker/for-win/issues/27).
|
||||
|
||||
For a temporary workaround, uninstall the firewall or anti-virus software, or
|
||||
explore other workarounds suggested on the forum.
|
||||
|
|