Share feedback
Answers are generated based on the documentation.

Change your Docker Desktop settings

Customize Docker Desktop behavior and optimize performance and resource usage with Docker Desktop's settings.

To open Settings either:

  • Select the Docker menu whale menu and then Settings
  • Select the Settings icon from the Docker Desktop Dashboard.

You can also locate the settings-store.json file at:

  • Mac: ~/Library/Group\ Containers/group.com.docker/settings-store.json
  • Windows: C:\Users\[USERNAME]\AppData\Roaming\Docker\settings-store.json
  • Linux: ~/.docker/desktop/settings-store.json

For information on enforcing settings at an organization level, see Settings Management.

General

Configure startup behavior, UI appearance, terminal preferences, and feature defaults for Docker Desktop.

SettingDescriptionDefaultPlatformNotes
Start Docker Desktop when you sign in to your computerAutomatically start Docker Desktop when you sign in to your machine.DisabledAllRecommended for frequent users.
Open Docker Dashboard when Docker Desktop startsAutomatically open the dashboard when starting Docker Desktop.DisabledAll
Choose theme for Docker DesktopApply a Light or Dark theme to Docker Desktop.Use system settings.All
Configure shell completionsEdits your shell configuration to enable word completion for commands, flags, and Docker objects when you press <Tab> in your terminal. For more information, see Completion.DisabledAll
Choose container terminalSets which terminal opens when you select a container terminal. Use the integrated terminal to run commands in a running container from the Dashboard. For more information, see Explore containers.DisabledAll
Enable Docker terminal.Interact with your host machine and execute commands directly from Docker Desktop.DisabledAll
Enable Docker Debug by defaultUse Docker Debug by default opening the integrated terminal. For more information, see Explore containers.DisabledAll
Include VM in Time Machine backupsBack up the Docker Desktop virtual machine.DisabledMac
Use containerd for pulling and storing imagesUses containerd image store instead of classic image store. For more information, see containerd image store.EnabledAll
Expose daemon on tcp://localhost:2375 without TLSAllow legacy clients to connect to the Docker daemon. Use with caution as exposing the daemon without TLS can result in remote code execution attacks.DisabledWindows (Hyper-V backend only)
Use the WSL 2 based engineWSL 2 provides better performance than the Hyper-V backend. For more information, see Docker Desktop WSL 2 backend.DisabledWindows
Add *.docker.internal to host fileAdds internal DNS entries.EnabledWindowsHelps resolve Docker-internal domains
Choose Virtual Machine Manager (VMM)Choose the VMM for creating and managing the Docker Desktop Linux VM. For more information, see Virtual Machine Manager.MacSelect Docker VMM for the latest and most performant Hypervisor/Virtual Machine Manager. This option is available only on Apple Silicon Macs and is currently in Beta.
Choose file sharing implementation for your containersChoose whether you want to share files using VirtioFS, gRPC FUSE, or osxfs (Legacy)VirtioFSMacUse VirtioFS for speedy file sharing. VirtioFS has reduced the time taken to complete filesystem operations by up to 98%. It is the only file sharing implementation supported by Docker VMM.
Use Rosetta for x86_64/amd64 emulation on Apple SiliconAccelerate x86/AMD64 binary emulation on Apple Silicon. This option is only available if you have selected Apple Virtualization framework as the Virtual Machine Manager.DisabledMac
Send usage statisticsSend diagnostics, crash reports, and usage data to Docker to improve and troubleshoot the application. Docker may periodically prompt you for more information.EnabledAll
Use Enhanced Container IsolationPrevent containers from breaching the Linux VM. For more information, see Enhanced Container Isolation.DisabledAllMust be signed in and have a Docker Business subscription.
Show CLI hintsDisplay helpful CLI suggestions in terminal.EnabledAllImproves discoverability
Enable Docker Scout image analysisShow a Start analysis button when inspecting an image, which analyzes the image with Docker Scout.EnabledAll
Enable background SBOM indexingAutomatically analyze images that you build or pull.DisabledAll
Automatically check configurationRegularly check your configuration to ensure no unexpected changes have been made by another application. Notifies you if changes are found with the option to restore the configuration directly from the notification. For more information, see the FAQs.EnabledMacDocker Desktop checks if your setup, configured during installation, has been altered by external apps like Orbstack. Docker Desktop checks the symlinks of Docker binaries to /usr/local/bin and the symlink of the default Docker socket. Additionally, Docker Desktop ensures that the context is switched to desktop-linux on startup.

Resources

Control the CPU, memory, disk, file sharing, proxy, and network resources available to Docker Desktop.

Advanced

SettingDescriptionPlatformNotes
CPU limitSpecify the maximum number of CPUs to be used by Docker Desktop.Mac, Linux, Windows Hyper-V
Memory limitRAM allocated to the Docker VMMac, Linux, Windows Hyper-VDefaults to 50% of your host's memory.
SwapConfigure swap file size as needed.Mac, Linux, Windows Hyper-V1 GB default.
Disk usage limitSpecify the maximum amount of disk space the engine can use.Mac, Linux, Windows Hyper-V
Disk image locationSpecify the location of the Linux volume where containers and images are stored. On the Advanced tab, you can limit resources available to the Docker Linux VM.Mac, Linux, Windows Hyper-VYou can also move the disk image to a different location. If you attempt to move a disk image to a location that already has one, you are asked if you want to use the existing image or replace it.
Resource SaverEnable or disable Resource Saver mode, which significantly reduces CPU and memory utilization on the host by automatically turning off the Linux VM when Docker Desktop is idle.Mac, Linux, Windows Hyper-VRestarts automatically when containers run. Restart may take 3–10 seconds.

In WSL 2 mode, configure memory, CPU, and swap limits on the WSL 2 utility VM.

Tip

If you feel Docker Desktop starting to get slow or you're running multi-container workloads, increase the memory and disk image space allocation.

File sharing

Use File sharing to allow local directories on your machine to be shared with Linux containers. This is especially useful for editing source code in an IDE on the host while running and testing the code in a container.

SettingDescriptionPlatformNotes
Synchronized file sharesFast and flexible host-to-VM file sharing, enhancing bind mount performance through the use of synchronized filesystem caches. To learn more, see Synchronized file share.Mac, Linux, Windows Hyper-VAvailable with Pro, Team, and Business subscriptions.
Virtual file sharesShare local directories with Linux containers. By default the /Users, /Volumes, /private, /tmp and /var/folders directory are shared. If your project is outside this directory then it must be added to the list, otherwise you may get Mounts denied or cannot start service errors at runtime.Mac, Linux, Windows Hyper-V
  • Share only the directories that you need with the container. File sharing introduces overhead as any changes to the files on the host need to be notified to the Linux VM. Sharing too many files can lead to high CPU load and slow filesystem performance.
  • Shared folders are designed to allow application code to be edited on the host while being executed in containers. For non-code items such as cache directories or databases, the performance will be much better if they are stored in the Linux VM, using a data volume (named volume) or data container.
  • If you share the whole of your home directory into a container, Mac may prompt you to give Docker access to personal areas of your home directory such as your Reminders or Downloads.
  • By default, Mac file systems are case-insensitive while Linux is case-sensitive. On Linux, it is possible to create two separate files: test and Test, while on Mac these filenames would actually refer to the same underlying file. This can lead to problems where an app works correctly on a developer's machine (where the file contents are shared) but fails when run in Linux in production (where the file contents are distinct). To avoid this, Docker Desktop insists that all shared files are accessed as their original case. Therefore, if a file is created called test, it must be opened as test. Attempts to open Test will fail with the error "No such file or directory". Similarly, once a file called test is created, attempts to create a second file called Test will fail.

For more information, see Volume mounting requires file sharing for any project directories outside of /Users.

Proxies

Docker Desktop supports HTTP/HTTPS and SOCKS5 proxies. SOCKS5 requires a Business subscription.

To prevent developers from accidentally changing the proxy settings, see Settings Management.

Docker Desktop proxy

Used for signing in to Docker, pulling and pushing images, fetching artifacts during image builds, and reporting error diagnostics.

Proxy modeDescription
System proxyUse the proxy configured on the host (static or Proxy Auto-Configuration (PAC)). Docker Desktop reads this automatically.
No proxyConnect directly without a proxy.
Manual configurationEnter a Web Server (HTTP) and Secure Web Server (HTTPS) URL manually. Use the format http://proxy:port or https://proxy:port. You can also specify hosts and domains that should bypass the proxy, for example: registry-1.docker.com,*.docker.com,10.0.0.0/8.
Note

If you use a PAC file hosted on a web server, add the MIME type application/x-ns-proxy-autoconfig for the .pac extension. Without this, the PAC file may not parse correctly. See Hardened Docker Desktop.

Containers proxy

Used for outbound traffic from running containers.

Proxy modeDescription
Same as host proxyUse the same proxy configuration as the Docker Desktop proxy.
System proxyUse the proxy configured on the host.
No proxyConnect directly without a proxy.
Manual configurationEnter a Web Server (HTTP) and Secure Web Server (HTTPS) URL manually. Use the format http://proxy:port or https://proxy:port. You can also specify hosts and domains that should bypass the proxy, for example: registry-1.docker.com,*.docker.com,10.0.0.0/8.
Note

The HTTPS proxy used for image scanning is configured using the HTTPS_PROXY environment variable.

Proxy authentication

MethodBehaviorNotes
BasicDocker Desktop prompts for credentials and caches them in the OS credential store.Use an https:// proxy URL to protect passwords in transit. Supports TLS 1.3.
Kerberos / NTLMCentralizes authentication — developers aren't prompted for credentials, reducing the risk of account lockouts. If the proxy returns multiple schemes in a 407 response, Docker Desktop defaults to Basic.Requires a Business subscription. To enable Kerberos or NTLM proxy authentication you must pass the --proxy-enable-kerberosntlm installer flag during installation via the command line, and ensure your proxy server is properly configured for Kerberos or NTLM authentication.

Network

Note

On Windows, the Network tab is not available in Windows container mode because Windows manages networking.

SettingDescriptionPlatform
Docker subnetSet a custom subnet to avoid conflicts with IPs in your environment. Docker Desktop uses a private IPv4 network for internal services, including a DNS server and HTTP proxy. Default: 192.168.65.0/24.All
Use kernel networking for UDPUse a more efficient kernel networking path for UDP traffic. May not be compatible with VPN software.Mac
Enable host networkingAllows containers started with --net=host to use localhost to connect to TCP and UDP services on the host. Also allows host software to use localhost to connect to TCP and UDP services in the container.Mac

On Windows and Mac, you can also set the default networking mode and DNS resolution behavior. For more information, see Networking.

WSL integration (Windows only)

SettingDescriptionNotes
WSL distribution integrationSelect which WSL 2 distributions have Docker WSL integration enabled.Integration is enabled on your default WSL distribution by default. To change your default distribution, run wsl --set-default <distribution name>.

For more details on configuring Docker Desktop to use WSL 2, see Docker Desktop WSL 2 backend.

Docker Engine

Configure the Docker daemon using a JSON configuration file.

The file is located at $HOME/.docker/daemon.json. Edit it directly in the Docker Desktop Dashboard or in a text editor.

To see the full list of possible configuration options, see the dockerd command reference.

Builders

Use the Builders tab to inspect and manage builders in the Docker Desktop settings.

Inspect

To inspect builders, find the builder that you want to inspect and select the expand icon. You can only inspect active builders.

Inspecting an active builder shows:

  • BuildKit version
  • Status
  • Driver type
  • Supported capabilities and platforms
  • Disk usage
  • Endpoint address

Select a different builder

The Selected builder section displays the selected builder. To select a different builder:

  1. Find the builder that you want to use under Available builders
  2. Open the drop-down menu next to the builder's name.
  3. Select Use to switch to this builder.

Your build commands now use the selected builder by default.

Create a builder

To create a builder, use the Docker CLI. See Create a new builder

Remove a builder

You can remove a builder if:

To remove a builder:

  1. Find the builder that you want to remove under Available builders
  2. Open the drop-down menu.
  3. Select Remove to remove this builder.

If the builder uses the docker-container or kubernetes driver, the build cache is also removed, along with the builder.

Stop and start a builder

Builders that use the docker-container driver run the BuildKit daemon in a container. You can start and stop the BuildKit container using the drop-down menu.

Running a build automatically starts the container if it's stopped.

You can only start and stop builders using the docker-container driver.

Kubernetes

Note

On Windows the Kubernetes tab is not available in Windows container mode.

Enable and configure the built-in standalone Kubernetes cluster for testing container deployments.

SettingDescription
Enable KubernetesInstall and run a standalone Kubernetes server as a Docker container for testing deployments.
Cluster provisioning methodChoose either Kubeadm, a single-node cluster with the version set by Docker Desktop, or Kind, a multi-node cluster where you can set the version and number of nodes.
Show system containers (advanced)Show internal containers when using Docker commands.
Reset Kubernetes clusterDelete all stacks and Kubernetes resources.

For more information about using the Kubernetes integration with Docker Desktop, see Explore the Kubernetes view.

Software updates

Manage how and when Docker Desktop checks for and downloads updates.

SettingDescriptionDefault
Automatically check for updatesNotifies you of available updates in the Docker menu and Dashboard footer.Enabled
Always download updatesAutomatically download new versions of Docker Desktop in the background.Disabled
Automatically update componentsUpdate Docker Desktop components (such as Docker Compose, Docker Scout, and the Docker CLI) independently, without a full restart.Enabled

Extensions

Enable Docker Extensions and control which extensions are available to install and run.

SettingDescription
Enable Docker ExtensionsTurn Docker Extensions on or off.
Allow only extensions distributed through the Docker MarketplaceRestrict extensions to Marketplace-approved sources only.
Show Docker Extensions system containersShow containers used by Docker Extensions.

For more information about Docker extensions, see Docker Extensions.

Beta features

Beta features provide access to future product functionality. These features are intended for testing and feedback only as they may change between releases without warning or remove them entirely from a future release. Beta features must not be used in production environments. Docker doesn't offer support for beta features.

You can also sign up to the Developer Preview program from the Beta features tab.

For a list of current experimental features in the Docker CLI, see Docker CLI Experimental features.

Notifications

Choose which types of Docker Desktop notifications you want to receive.

Notification typeDefault
Status updates on tasks and processesEnabled
Recommendations from DockerEnabled
Docker announcementsEnabled
Docker surveysEnabled
Error notificationsAlways Enabled (cannot be changed)
New releasesAlways Enabled (cannot be changed)

Notifications appear briefly in the lower-right of the Docker Desktop Dashboard, then move to the Notifications drawer, accessible from the top-right of the Dashboard.

Advanced (Mac only)

Reconfigure CLI tool installation paths and privileged system permissions set during initial install.

SettingDescriptionNotes
CLI tools installation — SystemInstall Docker CLI tools to /usr/local/bin.
CLI tools installation — UserInstall Docker CLI tools to $HOME/.docker/binAdd $HOME/.docker/bin to your PATH by appending export PATH=$PATH:~/.docker/bin to ~/.bashrc or ~/.zshrc, then restart your shell.
Allow the default Docker socket to be usedCreates /var/run/docker.sock which some third party clients may use to communicate with Docker Desktop. For more information, see permission requirements for macOS.Requires password
Allow privileged port mappingStarts the privileged helper process which binds the ports that are between 1 and 1024. For more information, see permission requirements for macOS.Requires password

Docker Offload

Enable Docker Offload and configure idle timeout and GPU support for cloud-based workloads.

SettingDescriptionNotes
Enable Docker OffloadRun your containers in the cloud.Requires sign-in and an Offload subscription
Idle timeoutSet the duration of time between no activity and Docker Offload entering idle mode. For details about idle timeout, see Active and idle states.
Enable GPU supportLet your workloads use cloud GPU if available.