description | keywords | redirect_from | title | toc_max | |||
---|---|---|---|---|---|---|---|
Frequently asked questions |
desktop, mac, windows, faqs |
|
Frequently asked questions |
2 |
For information about Docker Desktop system requirements, see Docker Desktop for Mac system requirements and Docker Desktop for Windows system requirements.
By default, Docker Desktop is installed at the following location:
- On Mac:
/Applications/Docker.app
- On Windows:
C:\Program Files\Docker\Docker
Docker Desktop remains free for small businesses (fewer than 250 employees AND less than $10 million in annual revenue), personal use, education, and non-commercial open-source projects. It requires a paid subscription for professional use in larger enterprises. The effective date of these terms is August 31, 2021. There is a grace period until January 31, 2022, for those that will require a paid subscription to use Docker Desktop. When downloading and installing Docker Desktop, you will be asked to agree to the Docker Subscription Service Agreement{: target="blank" rel="noopener" class=""}.
Read the Blog{: target="blank" rel="noopener" class="" id="dkr_docs_subscription_btl"} and FAQs{: target="blank" rel="noopener" class="" id="dkr_docs_subscription_btl"} to learn how companies using Docker Desktop may be affected. For information about Docker Desktop licensing, see Docker Desktop License Agreement.
Yes, you can use Docker Desktop offline. However, you will not be able to access features that require an active internet connection. Additionally, any functionality that requires you to sign in will also not work while using Docker Desktop offline or in air-gapped environments. This includes:
- The in-app Quick Start Guide
- Pull or push an image to Docker Hub
- Image Access Management
- Vulnerability scanning
- View remote images in the Docker Dashboard
- Set up Dev Environments
- Docker build when using Buildkit. You can work around this by disabling
BuildKit. Run
DOCKER_BUILDKIT=0 docker build .
to disable BuildKit. - Deploying an app to the cloud through Compose ACI and ECS integrations
- Kubernetes (Images are download when you enable Kubernetes for the first time)
- Check for updates (manual and automatic)
- In-app diagnostics (including the Self-diagnose tool)
- Tip of the week
- Sending usage statistics
{% include experimental.md %}
You can find information about diagnosing and troubleshooting common issues in the Troubleshooting topic. See Mac Logs and Troubleshooting topic and Windows Logs and Windows Logs and Troubleshooting.
If you do not find a solution in Troubleshooting, browse issues on docker/for-mac{: target="blank" rel="noopener" class=""} or docker/for-win{: target="blank" rel="noopener" class=""} GitHub repository, or create a new one.
To connect to the remote Engine API, you might need to provide the location of the Engine API for Docker clients and development tools.
Mac and Windows WSL 2 users can connect to the Docker Engine through a Unix socket: unix:///var/run/docker.sock
.
If you are working with applications like Apache Maven{: target="blank" rel="noopener" class=""}
that expect settings for DOCKER_HOST
and DOCKER_CERT_PATH
environment
variables, specify these to connect to Docker instances through Unix sockets.
For example:
$ export DOCKER_HOST=unix:///var/run/docker.sock
Docker Desktop Windows users can connect to the Docker Engine through a named pipe: npipe:////./pipe/docker_engine
, or TCP socket at this URL:
tcp://localhost:2375
.
For details, see Docker Engine API.
Both Mac and Windows have a changing IP address (or none if you have no network access). On both Mac and Windows, we recommend that you connect to the special DNS name host.docker.internal
, which resolves to the internal IP address used by the host. This is for development purposes and does not work in a production environment outside of Docker Desktop.
For more information and examples, see how to connect from a container to a service on the host on Mac and on Windows.
We recommend that you publish a port, or connect from another container. Port forwarding works for localhost
; --publish
, -p
, or -P
all work.
For more information and examples, see I want to connect to a container from Mac and I want to connect to a container from Windows.
Docker Desktop supports all trusted certificate authorities (CAs) (root or intermediate). For more information on adding server and client-side certs, see Add TLS certificates on Mac and Add TLS certificates on Windows.
Unfortunately, it is not possible to pass through a USB device (or a serial port) to a container as it requires support at the hypervisor level.
Docker Desktop can run inside a Windows 10 VM running on apps like Parallels or VMware Fusion on a Mac provided that the VM is properly configured. However, problems and intermittent failures may still occur due to the way these apps virtualize the hardware. For these reasons, Docker Desktop is not supported in nested virtualization scenarios. It might work in some cases and not in others.
For more information, see Running Docker Desktop in nested virtualization scenarios.
Docker Desktop uses hardware-accelerated graphics by default, which may cause problems for some GPUs. In such cases, Docker Desktop will launch successfully, but some screens may appear green, distorted, or have some visual artifacts.
To work around this issue, disable hardware acceleration by creating a "disableHardwareAcceleration": true
entry in Docker Desktop's settings.json
file. You can find this file at:
- Mac:
~/Library/Group Containers/group.com.docker/settings.json
- Windows:
C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json
After updating the settings.json
file, close and restart Docker Desktop to apply the changes.
Starting with version 3.0.0, Docker Desktop will be available as a single, cumulative release stream. This is the same version for both Stable and Edge users. The next release after Docker Desktop 3.0.0 will be the first to be applied as a delta update. For more information, see Automatic updates.
Each Docker Desktop release is also delivered as a full installer for new users. The same will apply if you have skipped a version, although this doesn't normally happen as updates will be applied automatically.
New releases will be available roughly monthly, similar to Edge today unless there are critical fixes that need to be released sooner.
Previously you had to manage this yourself: now it will happen automatically as a side effect of all users being on the latest version.
Sometimes we may roll out a new version gradually over a few days. Therefore, if you wait, it will turn up soon. Alternatively, you can select Check for Updates from the Docker menu to jump the queue and get the latest version immediately.
Starting with Docker Desktop 3.0.0, Stable and Edge releases are combined into a single, cumulative release stream for all users.
Yes, Docker Desktop offers support for users with a paid Docker subscription. For more information, see Docker Desktop Support.
For information about Docker subscriptions and to upgrade your existing account, see Docker pricing{: target="blank" rel="noopener" class=""}.
Everything is fair game. We'd like your impressions on the download-install process, startup, functionality available, the GUI, usefulness of the app, command line integration, and so on. Tell us about the issues you are experiencing, what you like, or request a new feature through our public Docker Roadmap{: target="blank" rel="noopener" class=""}.
When uploading diagnostics to help Docker with investigating issues, the uploaded diagnostics bundle may contain personal data such as usernames and IP addresses. The diagnostics bundles are only accessible to Docker, Inc. employees who are directly involved in diagnosing Docker Desktop issues.
By default, Docker, Inc. will delete uploaded diagnostics bundles after 30 days. You may also request the removal of a diagnostics bundle by either specifying the diagnostics ID or via your GitHub ID (if the diagnostics ID is mentioned in a GitHub issue). Docker, Inc. will only use the data in the diagnostics bundle to investigate specific user issues but may derive high-level (non personal) metrics such as the rate of issues from it.
For more information, see Docker Data Processing Agreement{: target="blank" rel="noopener" class=""}.
Docker.app
is Docker Desktop on Mac. It bundles the Docker client and Docker Engine. Docker.app
uses the macOS Hypervisor.framework to run containers.
Yes, you can now install Docker Desktop for Mac on Apple silicon. For more information, see Docker Desktop for Apple silicon.
HyperKit is a hypervisor built on top of the Hypervisor.framework in macOS. It runs entirely in userspace and has no other dependencies.
We use HyperKit to eliminate the need for other VM products, such as Oracle VirtualBox or VMWare Fusion.
HyperKit is thinner than VirtualBox and VMWare fusion, and the version included is customized for Docker workloads on Mac.
The privileged helper process com.docker.vmnetd
is started by launchd
and
runs in the background. The process does not consume any resources unless
Docker.app connects to it, so it's safe to ignore.
Yes, you can run VirtualBox along with Docker Desktop if you have enabled the Windows Hypervisor Platform{: target="blank" rel="noopener" class=""} feature on your machine.
Docker Desktop uses the Windows Hyper-V features. While older Windows versions have Hyper-V, their Hyper-V implementations lack features critical for Docker Desktop to work.
If you are running Windows 10 Home (starting with version 1903), you can install Docker Desktop for Windows{: target="blank" rel="noopener" class=""} with the WSL 2 backend.
No, running Docker Desktop on Windows Server is not supported.
You can install a native Windows binary which allows you to develop and run Windows containers without Docker Desktop. For more information, see the tutorial about running Windows containers on Windows Server in Getting Started with Windows Containers{: target="blank" rel="noopener" class=""}.
Docker Desktop displays the Docker Desktop - Access Denied error if a Windows user is not part of the docker-users group.
If your admin account is different to your user account, add the docker-users group. Run Computer Management as an administrator and navigate to Local Users and Groups* > Groups > docker-users.
Right-click to add the user to the group. Log out and log back in for the changes to take effect.
Some anti-virus software may be incompatible with Hyper-V and Windows 10 builds which impact Docker Desktop. For more information, see Docker Desktop fails to start when anti-virus software is installed.
Docker Desktop does not enable you to control (chmod
)
the Unix-style permissions on shared volumes for
deployed containers, but rather sets permissions to a default value of
0777{: target="blank" rel="noopener" class=""}
(read
, write
, execute
permissions for user
and for
group
) which is not configurable.
For workarounds and to learn more, see Permissions errors on data directories for shared volumes.
Docker Desktop supports two types of symlinks: Windows native symlinks and symlinks created inside a container.
The Windows native symlinks are visible within the containers as symlinks, whereas symlinks created inside a container are represented as mfsymlinks{:target="blank" rel="noopener" class=""}. These are regular Windows files with a special metadata. Therefore the symlinks created inside a container appear as symlinks inside the container, but not on the host.
Docker Desktop mounts the Windows host filesystem under /run/desktop
inside the container running Kubernetes.
See the Stack Overflow post{:target="blank" rel="noopener" class=""} for an example of how to configure a Kubernetes Persistent Volume to represent directories on the host.