更改您的 Docker Desktop 设置
要进入设置,请执行以下任一操作:
- 选择 Docker 菜单
and then设置
- 从 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 设置为 使用系统设置。
选择容器终端。确定从容器中打开终端时启动哪个终端。 如果您选择集成终端,则可以直接在 Docker Desktop 仪表板中对正在运行的容器执行命令。有关更多信息,请参阅 探索容器。
启用 Docker 终端。与您的主机进行交互,并直接从 Docker Desktop 执行命令。
默认启用 Docker 调试。勾选此选项可在访问集成终端时默认使用 Docker 调试功能。更多信息,请参见 探索容器。
仅限 Mac 将虚拟机包含在 Time Machine 备份中。选择此项可备份 Docker Desktop 虚拟机。默认情况下,此选项处于关闭状态。
仅限 Windows 在 tcp://localhost:2375 上暴露守护进程(不使用 TLS)。选中此选项可启用旧版客户端连接到 Docker 守护进程。由于不使用 TLS 暴露守护进程可能导致远程代码执行攻击,因此您必须谨慎使用此选项。
仅限 Windows 使用基于 WSL 2 的引擎。WSL 2 比 Hyper-V 后端提供更佳的性能。有关更多信息,请参阅 Docker Desktop WSL 2 后端。
仅限 Windows 将
*.docker.internal个名称添加到主机的/etc/hosts文件中(需要密码)。可让您从主机及其容器中解析*.docker.internal的 DNS 名称。使用 containerd 拉取和存储镜像 启用 containerd 镜像存储功能。 该功能带来新特性,例如通过延迟拉取镜像实现更快的容器启动性能, 以及支持使用 Docker 运行 Wasm 应用程序。 有关更多信息,请参阅 containerd 镜像存储。
仅限 Mac 选择虚拟机管理程序 (VMM)。选择用于创建和管理 Docker Desktop Linux 虚拟机的虚拟机管理程序。
- 选择 Docker VMM 以获得最新且性能最优的虚拟机监控程序/虚拟机管理程序。此选项仅适用于运行 macOS 12.5 或更高版本的 Apple Silicon Mac 电脑,且目前处于测试阶段。
提示
启用此设置可提升 Docker Desktop 的运行速度。
- 或者,您可以选择 Apple 虚拟化框架、QEMU(适用于 Apple Silicon)或 HyperKit(适用于 Intel Mac)。对于 macOS 12.5 及更高版本,Apple 虚拟化框架为默认设置。
有关更多信息,请参阅 虚拟机管理器。
- 选择 Docker VMM 以获得最新且性能最优的虚拟机监控程序/虚拟机管理程序。此选项仅适用于运行 macOS 12.5 或更高版本的 Apple Silicon Mac 电脑,且目前处于测试阶段。
仅限 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 Binaries的模拟。此选项仅在您已选择 Apple 虚拟化框架 作为虚拟机管理程序时可用。此外,您必须使用 macOS 13 或更高版本。
发送使用统计信息。选中此项,Docker Desktop 将发送诊断信息、崩溃报告和使用数据。这些信息有助于 Docker 改进和排查应用程序问题。取消选中可选择退出。Docker 可能会定期向您请求更多信息。
使用增强型容器隔离。选中此选项可通过防止容器突破 Linux 虚拟机来提升安全性。有关详细信息,请参阅 增强型容器隔离。
注意
此设置仅在您已登录 Docker Desktop 并持有 Docker Business 订阅时可用。
显示 CLI 提示信息。在 CLI 中运行 Docker 命令时显示 CLI 提示与技巧。此功能默认已启用。如需通过 CLI 启用或禁用 CLI 提示信息,请分别将其设置为
DOCKER_CLI_HINTS(禁用)、true(启用)或false(启用并显示更多提示)。SBOM 索引。启用此选项后,在 Docker Desktop 中检查镜像时将显示一个 开始分析 按钮,点击该按钮即可使用 Docker Scout 对镜像进行分析。
启用后台 SBOM 索引。启用此选项后,Docker Scout 将自动分析您构建或拉取的镜像。
仅限 Mac 自动检查配置。定期检查您的配置,以确保未被其他应用程序意外修改。
Docker Desktop 会检查您的安装过程中配置的设置是否被 Orbstack 等外部应用程序更改。Docker Desktop 检查以下内容:
- Docker Binaries的符号链接至
/usr/local/bin。 - 默认 Docker 套接字的符号链接。
此外,Docker Desktop 会在启动时确保上下文切换至
desktop-linux。
如果发现配置变更,系统将通知您,您可直接从通知中恢复配置。有关更多信息,请参阅 常见问题解答。
- Docker Binaries的符号链接至
资源
资源选项卡允许您配置CPU、内存、磁盘、代理、网络以及其他资源。
高级
注意
在 Windows 上,高级选项卡中的资源分配选项仅在 Hyper-V 模式下可用,因为 Windows 在 WSL 2 模式和 Windows 容器模式下会自行管理资源。在 WSL 2 模式下,您可以配置分配给 WSL 2 实用程序虚拟机的内存、CPU 和交换空间的限制。
在高级选项卡中,您可以限制Docker Linux虚拟机可用的资源。
高级设置为:
CPU 限制。指定 Docker Desktop 可使用的 CPU 核心数上限。 默认情况下,Docker Desktop 被设置为使用主机上所有可用的 CPU 核心。
内存限制。默认情况下,Docker Desktop 的内存使用上限设置为主机内存的 50%。若需增加 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 编辑源代码,同时在容器中运行和测试代码时尤为有用。
同步文件共享
同步文件共享是一种替代性的文件共享机制,通过使用同步文件系统缓存,可实现快速灵活的主机到虚拟机(VM)文件共享,并提升绑定挂载(bind mount)性能。该功能适用于 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打开将失败,并报错“没有那个文件或目录”。 类似地,一旦创建了名为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 设置不同的代理,请启用 手动代理配置,并输入一个采用 http://proxy:port 或 https://proxy:port 格式的上游代理 URL。
为防止开发人员意外更改代理设置,请参阅 设置管理。
用于扫描镜像的 HTTPS 代理设置通过 HTTPS_PROXY 环境变量进行配置。
注意
如果您使用的是托管在 Web 服务器上的 PAC 文件,请确保在服务器或网站上为
.pac文件扩展名添加 MIME 类型application/x-ns-proxy-autoconfig。缺少此配置,PAC 文件可能无法被正确解析。
重要
您无法使用 Docker 守护进程配置文件(
daemon.json)来配置代理设置,我们也不建议您通过 Docker CLI 配置文件(config.json)来配置代理设置。要管理 Docker Desktop 的代理配置,请在 Docker Desktop 应用中配置相关设置,或使用 设置管理。
代理身份验证
基本身份验证
如果您的代理服务器使用基本身份验证(Basic authentication),Docker Desktop 将提示开发人员输入用户名和密码,并缓存这些凭据。所有密码均安全地存储在操作系统的凭据存储中。如果缓存被清除,系统将重新请求身份验证。
建议您在HTTP/HTTPS代理中使用https:// URL,以在传输过程中保护密码。Docker Desktop还支持与代理通信时使用TLS 1.3。
Kerberos 和 NTLM 身份验证
注意
适用于 Docker Business 订阅用户,需使用 Windows 版 Docker Desktop 4.30 及更高版本。
开发人员不再因需要输入代理凭证提示而被打断,因为认证已集中管理。这也有助于降低因登录尝试错误而导致账户被锁定的风险。
如果您的代理服务器在407(需要代理身份验证)响应中提供了多种身份验证方案,Docker Desktop 默认将选择 Basic(基本)身份验证方案。
适用于 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 引擎
Docker 引擎 选项卡允许您配置用于在 Docker Desktop 中运行容器的 Docker 守护进程。
您使用 JSON 配置文件来配置守护进程。该文件可能如下所示:
{
"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 上下文。
要删除与 Docker 上下文关联的构建器,请使用
docker context rm命令删除该上下文。
要删除构建器:
- 在 可用构建器 下找到您要移除的构建器
- 打开下拉菜单。
- 选择 移除 以删除此构建器。
如果构建器使用 docker-container 或 kubernetes 驱动程序,
构建缓存也将被一并删除,与构建器一起移除。
停止并启动构建器
使用
docker-container 驱动程序
的构建器会在容器中运行 BuildKit 守护进程。
您可以使用下拉菜单启动和停止 BuildKit 容器。
运行构建时会自动启动已停止的容器。
您只能使用 docker-container 驱动程序来启动和停止构建器。
Kubernetes
注意
在 Windows 容器模式下,Kubernetes 选项卡不可用。
Docker Desktop 包含一个独立的 Kubernetes 服务器,以便您可以测试在 Kubernetes 上部署 Docker 工作负载。要启用 Kubernetes 支持并安装一个以 Docker 容器形式运行的独立 Kubernetes 实例,请选择 启用 Kubernetes。
选择 显示系统容器(高级) 以在使用 Docker 命令时查看内部容器。
选择 重置 Kubernetes 集群 以删除所有堆栈和 Kubernetes 资源。
有关在 Docker Desktop 中使用 Kubernetes 集成的更多信息,请参阅 部署到 Kubernetes。
软件更新
软件更新 选项卡会在有适用于 Docker Desktop 的更新时通知您。 当有新更新时,您可以选择立即下载更新,或者 选择 发行说明 选项以了解更新版本中包含的内容。
通过取消选中自动检查更新复选框来关闭更新检查。这将禁用 Docker 菜单中的通知以及 Docker Desktop Dashboard 上显示的通知标记。要手动检查更新,请在 Docker 菜单中选择检查更新选项。
若要允许 Docker Desktop 在后台自动下载新更新, 请选择 始终下载更新。当有可用更新时,这将下载 Docker Desktop 的更新版本。 下载更新后,选择 应用并重启 以安装更新。 您可以通过 Docker 菜单或 Docker Desktop 仪表板的 更新 部分执行此操作。
扩展
使用 扩展 选项卡来:
- 启用 Docker 扩展
- 仅允许通过 Docker 市场分发的扩展
- 显示 Docker 扩展系统容器
有关 Docker 扩展的更多信息,请参阅 扩展。
开发中的功能
在 功能控制 选项卡上,您可以控制 测试版功能 和 实验性功能 的设置。
您还可以从 开发中的功能 标签页报名参加 开发者预览计划。
测试版功能
Beta 功能提供对未来产品功能的访问权限。 这些功能仅用于测试和反馈,因为它们可能会在版本之间更改而不发出警告,或者在未来的版本中将其完全删除。 Beta 功能不得用于生产环境。 Docker 不为 Beta 功能提供支持。
实验性功能
实验性功能提供对未来产品功能的早期访问。 这些功能仅用于测试和反馈,因为它们可能会在版本之间在没有警告的情况下更改,或者可能在未来的版本中被完全移除。实验性功能不得用于生产环境。 Docker 不为实验性功能提供支持。
有关 Docker CLI 中当前实验性功能的列表,请参阅 Docker CLI 实验性功能。
通知
使用 通知 选项卡开启或关闭以下事件的通知:
- 任务和流程的状态更新
- Docker 公告
- Docker 调查
默认情况下,所有通知均处于开启状态。您将始终收到错误通知以及有关 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 套接字(需要密码)。创建
/var/run/docker.sock,某些第三方客户端可能会使用它与 Docker Desktop 通信。有关更多信息,请参阅 macOS 权限要求。启用特权端口映射(需要密码)。启动特权助手进程,该进程绑定 1 到 1024 之间的端口。有关更多信息,请参阅 macOS 权限要求。
有关各配置和用例的更多信息,请参见 权限要求。