General FAQs for Desktop
For information about Docker Desktop system requirements, see:
By default, Docker Desktop is installed at the following location:
- On Mac:
- On Windows:
- On Linux:
Docker Desktop is 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. Otherwise, it requires a paid subscription for professional use. Paid subscriptions are also required for government entities. When downloading and installing Docker Desktop, you are asked to agree to the Docker Subscription Service Agreementopen_in_new.
No, the Docker Extension SDKopen_in_new is licensed under the Apache 2.0 License and is free to use. Anyone can create new Docker Extensions and share them without constraints.
No, there is no constraint on how each extension should be licensed, this is up to the extension authors to decide when creating a new extension.
Yes, you can use Docker Desktop offline. However, you cannot access features that require an active internet connection. Additionally, any functionality that requires you to sign won't work while using Docker Desktop offline or in air-gapped environments. This includes:
- The resources in the Learning Center
- Pulling or pushing an image to Docker Hub
- Image Access Management
- Vulnerability scanning
- Viewing remote images in the Docker Dashboard
- Setting 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 the Docker Compose ACI and ECSopen_in_new integrations
- Kubernetes (Images are download when you enable Kubernetes for the first time)
- Check for updates
- In-app diagnostics (including the Self-diagnose tool)
- Tip of the week
- Sending usage statistics
You can find information about diagnosing and troubleshooting common issues in the Troubleshooting topic.
If you do not find a solution in troubleshooting, browse the Github repositories or create a new issue:
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:
If you are working with applications like
that expect settings for
variables, specify these to connect to Docker instances through Unix sockets.
$ 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:
For details, see Docker Engine API.
The host has a changing IP address, or none if you have no network access.
We recommend that you connect to the special DNS name
which resolves to the internal IP address used by the host.
For more information and examples, see how to connect from a container to a service on the host.
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.
In general, Docker recommends running Docker Desktop natively on either Mac, Linux, or Windows. However, Docker Desktop for Windows can run inside a virtual desktop provided the virtual desktop is properly configured. For more information, see Run Docker Desktop in a VM or VDI environment
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:
After updating the
settings.json file, close and restart Docker Desktop to apply the changes.
Yes, see section Run Docker Desktop for Windows in a VM or VDI environment for more information on how to do this.