更改您的 Docker Desktop 设置
要导航到设置,可以通过以下任一方式:
- 选择 Docker 菜单
,然后选择设置
- 从 Docker Desktop 控制面板选择设置图标。
您还可以通过以下路径找到 settings-store.json
文件(或 Docker Desktop 4.34 及更早版本的 settings.json
文件):
- 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
常规
在常规选项卡上,您可以配置何时启动 Docker 并指定其他设置:
在您登录计算机时启动 Docker Desktop。选中此项可在您登录计算机时自动启动 Docker Desktop。
在 Docker Desktop 启动时打开 Docker 控制面板。选中此项可在启动 Docker Desktop 时自动打开控制面板。
选择 Docker Desktop 主题。选择是为 Docker Desktop 应用浅色或深色主题。或者,您可以将 Docker Desktop 设置为使用系统设置。
配置 Shell 补全。自动编辑您的 Shell 配置,并在您在终端中输入时按下
<Tab>
键时为您提供命令、标志和 Docker 对象(如容器和数据卷名称)的单词补全功能。更多信息,请参阅补全。选择容器终端。确定从容器打开终端时启动哪个终端。如果选择集成终端,您可以直接从 Docker Desktop 控制面板在正在运行的容器中运行命令。更多信息,请参阅探索容器。
启用 Docker 终端。与您的主机交互并直接从 Docker Desktop 执行命令。
默认启用 Docker Debug。勾选此选项可在访问集成终端时默认使用 Docker Debug。更多信息,请参阅探索容器。
仅限 Mac 将虚拟机包含在 Time Machine 备份中。选中此项以备份 Docker Desktop 虚拟机。此选项默认关闭。
使用 containerd 拉取和存储镜像。启用 containerd 镜像存储。这带来了新功能,如通过懒惰拉取镜像来加快容器启动性能,以及使用 Docker 运行 Wasm 应用程序的能力。更多信息,请参阅containerd 镜像存储。
仅限 Windows 在 tcp://localhost:2375 上暴露 daemon,不使用 TLS。勾选此选项以允许旧版客户端连接到 Docker daemon。必须谨慎使用此选项,因为不使用 TLS 暴露 daemon 可能导致远程代码执行攻击。
仅限 Windows 使用基于 WSL 2 的引擎。WSL 2 提供的性能优于 Hyper-V 后端。更多信息,请参阅Docker Desktop WSL 2 后端。
仅限 Windows 将
*.docker.internal
名称添加到主机的/etc/hosts
文件(需要密码)。允许您从主机和您的容器解析*.docker.internal
DNS 名称。仅限 Mac 选择虚拟机管理器 (VMM)。选择用于创建和管理 Docker Desktop Linux 虚拟机的虚拟机管理器。
- 选择 Docker VMM 以获得最新、性能最好的 Hypervisor/虚拟机管理器。此选项仅在运行 macOS 12.5 或更高版本的 Apple Silicon Mac 上可用,目前处于 Beta 阶段。
提示
启用此设置可使 Docker Desktop 运行更快。
- 或者,您可以选择 Apple Virtualization framework、QEMU(适用于 Apple Silicon)或 HyperKit(适用于 Intel Mac)。对于 macOS 12.5 及更高版本,Apple Virtualization framework 是默认设置。
更多信息,请参阅虚拟机管理器。
- 选择 Docker VMM 以获得最新、性能最好的 Hypervisor/虚拟机管理器。此选项仅在运行 macOS 12.5 或更高版本的 Apple Silicon Mac 上可用,目前处于 Beta 阶段。
仅限 Mac 选择容器的文件共享实现方式。选择是使用 VirtioFS、gRPC FUSE 还是 osxfs (旧版) 共享文件。VirtioFS 仅适用于 macOS 12.5 及更高版本,并且默认开启。
提示
使用 VirtioFS 实现快速文件共享。VirtioFS 已将完成文件系统操作所需的时间减少高达 98%。它是 Docker VMM 唯一支持的文件共享实现方式。
仅限 Mac 在 Apple Silicon 上使用 Rosetta 进行 x86_64/amd64 模拟。启用 Rosetta 以加速 Apple Silicon 上的 x86/AMD64 二进制模拟。此选项仅在您选择 Apple Virtualization framework 作为虚拟机管理器时可用。您还必须使用 macOS 13 或更高版本。
发送使用统计信息。选中此项可让 Docker Desktop 发送诊断信息、崩溃报告和使用数据。此信息有助于 Docker 改进和排除应用程序故障。取消勾选框可选择退出。Docker 可能会定期提示您提供更多信息。
使用增强容器隔离。选中此项可增强安全性,防止容器突破 Linux 虚拟机。更多信息,请参阅增强容器隔离。
注意
此设置仅在您登录 Docker Desktop 且拥有 Docker Business 订阅时可用。
显示 CLI 提示。在 CLI 中运行 Docker 命令时显示 CLI 提示和技巧。此选项默认开启。要从 CLI 开启或关闭 CLI 提示,请分别将
DOCKER_CLI_HINTS
设置为true
或false
。启用 Scout 镜像分析。启用此选项后,在 Docker Desktop 中检查镜像时会显示“开始分析”按钮,选中该按钮即可使用 Docker Scout 分析镜像。
启用后台 SBOM 索引。启用此选项后,Docker Scout 会自动分析您构建或拉取的镜像。
仅限 Mac 自动检查配置。定期检查您的配置,以确保其他应用程序没有进行意外更改。
Docker Desktop 会检查您的设置(在安装期间配置)是否已被 Orbstack 等外部应用程序更改。Docker Desktop 检查:
- Docker 二进制文件的符号链接到
/usr/local/bin
。 - 默认 Docker socket 的符号链接。此外,Docker Desktop 确保在启动时将上下文切换到
desktop-linux
。
如果发现更改,您将收到通知,并且可以直接从通知中恢复配置。更多信息,请参阅常见问题。
- Docker 二进制文件的符号链接到
资源
资源选项卡允许您配置 CPU、内存、磁盘、代理、网络及其他资源。
高级
注意
在 Windows 上,高级选项卡中的资源分配选项仅在 Hyper-V 模式下可用,因为在 WSL 2 模式和 Windows 容器模式下,Windows 管理资源。在 WSL 2 模式下,您可以配置分配给WSL 2 工具虚拟机的内存、CPU 和交换空间大小限制。
在高级选项卡上,您可以限制分配给 Docker Linux 虚拟机的资源。
高级设置包括:
CPU 限制。指定 Docker Desktop 将使用的 CPU 最大数量。默认情况下,Docker Desktop 设置为使用主机上的所有处理器。
内存限制。默认情况下,Docker Desktop 设置为使用高达主机内存的 50%。要增加 RAM,请将其设置为更高的数值;要减少 RAM,请降低数值。
交换空间。根据需要配置交换文件大小。默认值为 1 GB。
磁盘使用限制。指定引擎可以使用的磁盘空间的最大量。
磁盘镜像位置。指定存储容器和镜像的 Linux 数据卷的位置。
您也可以将磁盘镜像移动到其他位置。如果您尝试将磁盘镜像移动到已经有镜像的位置,系统将询问您是想使用现有镜像还是替换它。
提示
如果您感觉 Docker Desktop 开始变慢或您正在运行多容器工作负载,请增加内存和磁盘镜像空间分配。
资源节省程序。启用或禁用资源节省模式,该模式在 Docker Desktop 空闲时(即没有容器正在运行时)自动关闭 Linux 虚拟机,从而显著减少主机上的 CPU 和内存利用率。
您还可以配置资源节省超时时间,该时间指示 Docker Desktop 应该空闲多久,资源节省模式才会生效。默认值为 5 分钟。
注意
当容器运行时,会自动退出资源节省模式。退出可能需要几秒钟(大约 3 到 10 秒),因为 Docker Desktop 会重新启动 Linux 虚拟机。
文件共享
注意
在 Windows 上,文件共享选项卡仅在 Hyper-V 模式下可用,因为文件在 WSL 2 模式和 Windows 容器模式下会自动共享。
使用文件共享可以将您机器上的本地目录与 Linux 容器共享。这对于在主机上的 IDE 中编辑源代码,同时在容器中运行和测试代码特别有用。
同步文件共享
同步文件共享是一种替代的文件共享机制,它通过使用同步文件系统缓存提供快速灵活的主机到虚拟机文件共享,从而增强绑定挂载性能。适用于 Pro、Team 和 Business 订阅。
了解更多信息,请参阅同步文件共享。
虚拟文件共享
默认情况下,/Users
、/Volumes
、/private
、/tmp
和 /var/folders
目录会被共享。如果您的项目在此目录之外,则必须将其添加到列表,否则在运行时可能会收到 Mounts denied
或 cannot start service
错误。
文件共享设置包括:
添加目录。选择
+
并导航到您要添加的目录。删除目录。选择您要删除的目录旁边的
-
应用并重启使目录可用于使用 Docker 的绑定挂载 (
-v
) 功能的容器。
提示
- 只与容器共享您需要的目录。文件共享会引入开销,因为主机上文件的任何更改都需要通知到 Linux 虚拟机。共享太多文件可能导致 CPU 负载过高和文件系统性能变慢。
- 共享文件夹旨在允许在主机上编辑应用程序代码,同时在容器中执行。对于非代码项,例如缓存目录或数据库,如果它们存储在 Linux 虚拟机中,并使用数据卷(命名卷)或数据容器,性能会好得多。
- 如果您将整个主目录共享到容器中,macOS 可能会提示您授权 Docker 访问您主目录中的个人区域,例如“提醒事项”或“下载”。
- 默认情况下,Mac 文件系统不区分大小写,而 Linux 区分大小写。在 Linux 上,可以创建两个独立的文件:
test
和Test
,而在 Mac 上,这两个文件名实际上指向同一个底层文件。这可能导致问题:应用程序在开发人员的机器上(文件内容是共享的)可以正常工作,但在生产环境的 Linux 中运行(文件内容是不同的)时会失败。为避免此问题,Docker Desktop 要求所有共享文件都以其原始大小写访问。因此,如果创建了一个名为test
的文件,则必须以test
打开。尝试以Test
打开将失败,并出现“No such file or directory”错误。同样,一旦创建了一个名为test
的文件,尝试创建第二个名为Test
的文件将失败。有关更多信息,请参阅
/Users
之外的任何项目目录挂载卷都需要文件共享
按需共享文件夹
在 Windows 上,您可以在容器首次使用特定文件夹时,“按需”共享该文件夹。
如果您从 shell 运行带有卷挂载的 Docker 命令(如下例所示),或启动包含卷挂载的 Compose 文件,您会看到一个弹出窗口询问是否要共享指定的文件夹。
您可以选择共享它,在这种情况下,它会添加到您的 Docker Desktop 共享文件夹列表并可供容器使用。或者,您也可以选择取消,选择不共享。


代理
Docker Desktop 支持使用 HTTP/HTTPS 和SOCKS5 代理。
以下情况可以使用 HTTP/HTTPS 代理:
- 登录 Docker
- 拉取或推送镜像
- 在镜像构建期间获取工件
- 容器与外部网络交互
- 扫描镜像
如果主机使用 HTTP/HTTPS 代理配置(静态或通过代理自动配置 (PAC)),Docker Desktop 会读取此配置并自动使用这些设置来登录 Docker、拉取和推送镜像以及容器互联网访问。如果代理需要授权,Docker Desktop 会动态要求开发人员提供用户名和密码。所有密码都安全地存储在操作系统凭据存储中。请注意,仅支持 Basic
代理身份验证方法,因此我们建议您的 HTTP/HTTPS 代理使用 https://
URL,以保护密码在网络传输中的安全。Docker Desktop 在与代理通信时支持 TLS 1.3。
要为 Docker Desktop 设置不同的代理,请打开手动代理配置并输入单个上游代理 URL,格式为 http://proxy:port
或 https://proxy:port
。
为了防止开发人员意外更改代理设置,请参阅设置管理。
用于扫描镜像的 HTTPS 代理设置是使用 HTTPS_PROXY
环境变量设置的。
注意
如果您正在使用托管在 Web 服务器上的 PAC 文件,请确保在服务器或网站上为
.pac
文件扩展名添加 MIME 类型application/x-ns-proxy-autoconfig
。如果未进行此配置,PAC 文件可能无法正确解析。
重要事项
您无法使用 Docker daemon 配置文件 (
daemon.json
) 配置代理设置,我们建议您不要通过 Docker CLI 配置文件 (config.json
) 配置代理设置。要管理 Docker Desktop 的代理配置,请在 Docker Desktop 应用程序中配置设置或使用设置管理。
代理身份验证
基本身份验证
如果您的代理使用基本身份验证,Docker Desktop 会提示开发人员输入用户名和密码并缓存凭据。所有密码都安全地存储在操作系统凭据存储中。如果缓存被删除,它会要求重新进行身份验证。
建议您的 HTTP/HTTPS 代理使用 https://
URL,以保护密码在网络传输中的安全。Docker Desktop 还支持 TLS 1.3,用于与代理通信。
Kerberos 和 NTLM 身份验证
注意
适用于 Docker Business 订阅者,要求 Docker Desktop for Windows 版本 4.30 及更高版本。
开发人员不再因代理凭据提示而中断,因为身份验证是集中管理的。这还降低了因登录尝试不正确而导致帐户锁定的风险。
如果您的代理在 407 (Proxy Authentication Required) 响应中提供多种身份验证方案,Docker Desktop 默认选择基本身份验证方案。
适用于 Docker Desktop 版本 4.30 到 4.31
要启用 Kerberos 或 NTLM 代理身份验证,除了指定代理 IP 地址和端口外,无需额外配置。
适用于 Docker Desktop 版本 4.32 及更高版本
要启用 Kerberos 或 NTLM 代理身份验证,您必须在通过命令行安装时传递 --proxy-enable-kerberosntlm
安装程序标志,并确保您的代理服务器已为 Kerberos 或 NTLM 身份验证正确配置。
网络
注意
在 Windows 的 Windows 容器模式下,“网络”选项卡不可用,因为网络由 Windows 管理。
Docker Desktop 使用私有 IPv4 网络来支持内部服务,例如 DNS 服务器和 HTTP 代理。如果 Docker Desktop 选择的子网与您环境中的 IP 冲突,您可以使用“网络”设置指定自定义子网。
在 Mac 上,您还可以选择“使用内核网络进行 UDP”设置。这允许您使用更高效的内核网络路径处理 UDP。这可能与您的 VPN 软件不兼容。
WSL 集成
在 Windows 的 WSL 2 模式下,您可以配置哪些 WSL 2 分发版将启用 Docker WSL 集成。
默认情况下,集成在您的默认 WSL 分发版上启用。要更改默认 WSL 分发版,运行 wsl --set-default <distribution name>
。(例如,要将 Ubuntu 设置为您的默认 WSL 分发版,运行 wsl --set-default ubuntu
)。
您还可以选择要启用 WSL 2 集成的任何其他分发版。
有关配置 Docker Desktop 使用 WSL 2 的更多详细信息,请参阅Docker Desktop WSL 2 后端。
Docker Engine
“Docker Engine”选项卡允许您配置用于通过 Docker Desktop 运行容器的 Docker daemon。
您使用 JSON 配置文件配置 daemon。文件可能如下所示:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false
}
您可以在 $HOME/.docker/daemon.json
找到此文件。要更改配置,可以直接从 Docker Desktop 的仪表板编辑 JSON 配置,或使用您喜欢的文本编辑器打开并编辑文件。
要查看所有可能的配置选项的完整列表,请参阅dockerd 命令参考。
选择“应用并重启”以保存您的设置并重启 Docker Desktop。
构建器
如果您已开启Docker Desktop 构建视图,您可以使用“构建器”选项卡在 Docker Desktop 设置中检查和管理构建器。
检查
要检查构建器,找到要检查的构建器并选择展开图标。您只能检查活动构建器。
检查活动构建器会显示:
- BuildKit 版本
- 状态
- 驱动类型
- 支持的功能和平台
- 磁盘使用情况
- 端点地址
选择不同的构建器
“选定的构建器”部分显示当前选定的构建器。要选择不同的构建器:
- 在“可用构建器”下找到要使用的构建器
- 打开构建器名称旁边的下拉菜单。
- 选择“使用”切换到此构建器。
您的构建命令现在默认使用选定的构建器。
创建一个构建器
要创建构建器,请使用 Docker CLI。参阅创建新构建器
删除构建器
如果满足以下条件,您可以删除构建器:
构建器不是您的选定构建器
构建器未关联到 Docker context。
要删除与 Docker context 关联的构建器,请使用
docker context rm
命令删除 context。
要删除构建器:
- 在“可用构建器”下找到要删除的构建器
- 打开下拉菜单。
- 选择“移除”删除此构建器。
如果构建器使用 docker-container
或 kubernetes
驱动程序,则构建缓存也会连同构建器一起被移除。
停止和启动构建器
使用docker-container
驱动程序的构建器会在容器中运行 BuildKit daemon。您可以使用下拉菜单启动和停止 BuildKit 容器。
如果容器已停止,运行构建会自动启动容器。
您只能启动和停止使用 docker-container
驱动程序的构建器。
Kubernetes
注意
在 Windows 的 Windows 容器模式下,“Kubernetes”选项卡不可用。
Docker Desktop 包含一个独立的 Kubernetes 服务器,以便您可以在 Kubernetes 上测试部署您的 Docker 工作负载。要开启 Kubernetes 支持并安装运行为 Docker 容器的独立 Kubernetes 实例,请选择“启用 Kubernetes”。
使用 Docker Desktop 版本 4.38 及更高版本,您可以选择集群配置方法:
- Kubeadm 创建单节点集群,版本由 Docker Desktop 设置。
- kind 创建多节点集群,您可以设置版本和节点数量。
选择“显示系统容器 (高级)”以在使用 Docker 命令时查看内部容器。
选择“重置 Kubernetes 集群”以删除所有 stack 和 Kubernetes 资源。
有关将 Kubernetes 集成与 Docker Desktop 一起使用的更多信息,请参阅在 Kubernetes 上部署。
软件更新
“软件更新”选项卡会通知您 Docker Desktop 的任何可用更新。有新更新时,您可以选择立即下载更新,或选择“发行说明”选项了解更新版本中包含的内容。
勾选“自动检查更新”复选框以关闭更新检查。这会禁用 Docker 菜单中的通知和 Docker Desktop 仪表板上出现的通知徽章。要手动检查更新,请在 Docker 菜单中选择“检查更新”选项。
要允许 Docker Desktop 在后台自动下载新更新,请选择“始终下载更新”。这会在更新可用时下载更新版本的 Docker Desktop。下载更新后,选择“应用并重启”安装更新。您可以通过 Docker 菜单或 Docker Desktop 仪表板中的“更新”部分完成此操作。
提示
使用 Docker Desktop 版本 4.38 及更高版本,Docker Desktop 的组件(例如 Docker Compose、Docker Scout 和 Docker CLI)可以独立更新,而无需完全重启。此功能仍在 Beta 阶段。
扩展
使用“扩展”选项卡进行:
- 启用 Docker 扩展
- 仅允许通过 Docker Marketplace 分发的扩展
- 显示 Docker 扩展系统容器
有关 Docker 扩展的更多信息,请参阅扩展。
正在开发的功能
在“功能控制”选项卡上,您可以控制Beta 功能和实验性功能的设置。
您还可以从“开发中的功能”选项卡注册加入开发者预览计划。
Beta 功能
Beta 功能提供对未来产品功能的访问。这些功能仅供测试和反馈,因为它们可能在不同版本之间更改而无通知,或在未来版本中完全移除。Beta 功能不得用于生产环境。Docker 不为 Beta 功能提供支持。
实验性功能
实验性功能提供对未来产品功能的早期访问。这些功能仅供测试和反馈,因为它们可能在不同版本之间更改而无通知,或在未来版本中完全移除。实验性功能不得用于生产环境。Docker 不为实验性功能提供支持。
有关 Docker CLI 当前实验性功能的列表,请参阅Docker CLI 实验性功能。
通知
使用“通知”选项卡开启或关闭以下事件的通知:
- 任务和流程的状态更新
- Docker 推荐
- Docker 公告
- Docker 调查
默认情况下,所有常规通知都已开启。您将始终收到错误通知以及有关新的 Docker Desktop 版本和更新的通知。
您还可以配置 Docker Scout 相关问题的通知设置。
通知会暂时显示在 Docker Desktop 仪表板的右下角,然后移至可通过 Docker Desktop 仪表板右上角访问的“通知”抽屉。
高级
在 Mac 上,您可以在“高级”选项卡上重新配置初始安装设置:
选择如何配置 Docker 的 CLI 工具安装:.
- 系统:Docker CLI 工具安装在系统目录
/usr/local/bin
下 - 用户:Docker CLI 工具安装在用户目录
$HOME/.docker/bin
下。然后您必须将$HOME/.docker/bin
添加到您的 PATH。要将$HOME/.docker/bin
添加到您的路径:- 打开您的 shell 配置文件。如果您使用的是 bash shell,则为
~/.bashrc
;如果您使用的是 zsh shell,则为~/.zshrc
。 - 复制并粘贴以下内容:
$ export PATH=$PATH:~/.docker/bin
- 保存并关闭文件。重启您的 shell 以应用更改到 PATH 变量。
- 打开您的 shell 配置文件。如果您使用的是 bash shell,则为
- 系统:Docker CLI 工具安装在系统目录
允许使用默认 Docker socket(需要密码)。创建
/var/run/docker.sock
,一些第三方客户端可能使用此文件与 Docker Desktop 通信。有关更多信息,请参阅macOS 的权限要求。允许特权端口映射(需要密码)。启动特权辅助进程,该进程绑定 1 到 1024 之间的端口。有关更多信息,请参阅macOS 的权限要求。
有关每种配置和用例的更多信息,请参阅权限要求。