更改 Windows 上的 Docker 桌面设置

本页面提供有关如何配置和管理 Docker Desktop 设置的信息。

要导航至“设置”

  • 选择 Docker 菜单 鲸鱼菜单 ,然后选择设置
  • 从 Docker 仪表板中选择“设置”图标。

您还可以settings.json在 处找到该文件C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json

一般的

常规选项卡上,您可以配置何时启动 Docker 并指定其他设置:

  • 登录计算机时启动 Docker Desktop。选择在登录计算机时自动启动 Docker Desktop。

  • Docker Desktop 启动时打开 Docker Dashboard。选择启动 Docker Desktop 时自动打开仪表板。

  • 选择 Docker Desktop 的主题。选择是否要将浅色深色主题应用于 Docker Desktop。或者,您可以将 Docker Desktop 设置为“使用系统设置”

  • 选择集装箱码头。确定从容器打开终端时启动哪个终端。如果您选择集成终端,则可以直接从 Docker 仪表板在正在运行的容器中运行命令。有关更多信息,请参阅 探索容器

  • 默认启用 Docker 调试。勾选此选项,访问集成终端时默认使用 Docker Debug。有关更多信息,请参阅 探索容器

  • 在不使用 TLS 的情况下在 tcp://localhost:2375 上公开守护进程。选中此选项以使旧版客户端能够连接到 Docker 守护程序。您必须谨慎使用此选项,因为在没有 TLS 的情况下公开守护程序可能会导致远程代码执行攻击。

  • 使用基于 WSL 2 的引擎。 WSL 2 提供比 Hyper-V 后端更好的性能。有关更多信息,请参阅Docker Desktop WSL 2 后端

  • 将名称添加*.docker.internal到主机的/etc/hosts文件中(需要密码)。允许您*.docker.internal从主机和容器解析DNS 名称。

  • 使用containerd来拉取和存储图像。打开containerd镜像存储。这带来了一些新功能,例如通过延迟拉取镜像实现更快的容器启动性能,以及使用 Docker 运行 Wasm 应用程序的能力。有关更多信息,请参阅 容器镜像存储

  • 发送使用情况统计数据。选择此项后 Docker Desktop 会发送诊断、崩溃报告和使用数据。此信息有助于 Docker 改进应用程序并排除应用程序故障。清除复选框以选择退出。 Docker 可能会定期提示您提供更多信息。

  • 使用增强的容器隔离。选择通过防止容器破坏 Linux VM 来增强安全性。有关更多信息,请参阅增强容器隔离

    笔记

    仅当您登录 Docker Desktop 并拥有 Docker Business 订阅时,此设置才可用。

  • 显示 CLI 提示。在 CLI 中运行 Docker 命令时显示 CLI 提示和技巧。默认情况下此功能处于打开状态。要从 CLI 打开或关闭 CLI 提示,请分别设置DOCKER_CLI_HINTStruefalse

  • SBOM 索引。启用此选项后,检查 Docker Desktop 中的映像会显示“开始分析”按钮,选择该按钮后,将使用 Docker Scout 分析映像。

  • 启用后台 SBOM 索引。启用此选项后,Docker Scout 会自动分析您构建或拉取的映像。

资源

“资源选项卡允许您配置 CPU、内存、磁盘、代理、网络和其他资源。根据您使用的是 WSL 2 模式下的 Linux 容器、Hyper-V 模式下的 Linux 容器还是 Windows 容器,可以使用不同的设置进行配置。

先进的

笔记

“高级”选项卡中的资源分配选项仅在 Hyper-V 模式下可用,因为 Windows 在 WSL 2 模式和 Windows 容器模式下管理资源。在 WSL 2 模式下,您可以配置分配给WSL 2 实用程序 VM 的内存、CPU 和交换大小的限制 。

“高级”选项卡上,您可以限制 Docker Linux VM 可用的资源。

高级设置有:

  • CPU限制。指定 Docker Desktop 要使用的最大 CPU 数量。默认情况下,Docker Desktop 设置为使用主机上所有可用的处理器。

  • 内存限制。默认情况下,Docker Desktop 设置为使用最多2GB 的主机内存。要增加 RAM,请将其设置为更高的数字;要减少它,请降低数字。

  • 交换。根据需要配置交换文件大小。默认值为 1 GB。

  • 虚拟磁盘限制。指定磁盘映像的最大大小。

  • 磁盘映像位置。指定存储容器和映像的 Linux 卷的位置。

    您还可以将磁盘映像移动到其他位置。如果您尝试将磁盘映像移动到已有磁盘映像的位置,系统会询问您是否要使用现有映像或替换它。

提示

如果您感觉 Docker Desktop 开始变慢或者您正在运行多容器工作负载,请增加内存和磁盘映像空间分配

  • 资源节约者。启用或禁用 资源节省模式,该模式可在 Docker Desktop 空闲(即没有容器运行)时自动关闭 Linux VM,从而显着降低主机上的 CPU 和内存利用率。

    您还可以配置资源保护器超时,指示在资源保护器模式启动之前 Docker Desktop 应该空闲多长时间。默认值为 5 分钟。

    笔记

    当容器运行时,会自动退出资源节省模式。当 Docker Desktop 重新启动 Linux VM 时,退出可能需要几秒钟(约 3 到 10 秒)。

文件共享

笔记

文件共享选项卡仅在 Hyper-V 模式下可用,因为文件会在 WSL 2 模式和 Windows 容器模式下自动共享。

使用文件共享允许与 Linux 容器共享计算机上的本地目录。这对于在容器中运行和测试代码时在主机上的 IDE 中编辑源代码特别有用。

请注意,Windows 容器不需要配置文件共享,只有 Linux 容器才需要配置文件共享。如果目录未与 Linux 容器共享,您可能会在运行时遇到file not found 错误cannot start service。请参阅卷 安装需要 Linux 容器的共享文件夹

文件共享设置为:

  • 添加目录。选择+并导航到您要添加的目录。

  • 删除目录。选择-要删除的目录旁边的

  • 应用并重新启动-v使用 Docker 的绑定挂载 (bind mount ) 功能使该目录可供容器使用。

有关共享文件夹、权限和卷安装的提示

  • 仅与容器共享您需要的目录。文件共享会带来开销,因为主机上文件的任何更改都需要通知 Linux VM。共享太多文件可能会导致 CPU 负载过高和文件系统性能下降。
  • 共享文件夹旨在允许在容器中执行应用程序代码时在主机上进行编辑。对于缓存目录或数据库等非代码项,如果将它们存储在Linux VM中,使用数据卷 (命名卷)或 数据容器,性能会好得多 。
  • Docker Desktop 为用户、组和其他人设置读/写/执行的权限 0777 或 a+rwx。这是不可配置的。请参阅 共享卷的数据目录的权限错误
  • Windows 向应用程序提供不区分大小写的文件系统视图,而 Linux 则区分大小写。在 Linux 上,可以创建两个单独的文件:testTest,而在 Windows 上,这些文件名实际上引用相同的底层文件。这可能会导致应用程序在开发人员的计算机(其中文件内容是共享的)上正常运行但在生产环境中的 Linux 中运行时失败(其中文件内容不同)的问题。为了避免这种情况,Docker Desktop 坚持所有共享文件都按照原始情况进行访问。因此,如果创建名为 的文件test,则必须将其打开为test.尝试打开Test将失败,并显示错误“没有此类文件或目录”。同样,一旦创建了名为 的文件test,尝试创建第二个名为 的文件 Test将失败。

按需共享文件夹

您可以在容器第一次使用特定文件夹时“按需”共享文件夹。

如果您从带有卷挂载的 shell 运行 Docker 命令(如下例所示)或启动包含卷挂载的 Compose 文件,您会收到一个弹出窗口,询问您是否要共享指定的文件夹。

您可以选择Share it,在这种情况下,它会添加到您的 Docker 桌面共享文件夹列表中并可供容器使用。或者,您可以通过选择“取消”来选择不共享它。

按需共享文件夹

代理

在以下情况下可以使用 HTTP/HTTPS 代理:

  • 登录 Docker
  • 拉取或推送图像
  • 在图像构建期间获取工件
  • 容器与外部网络交互
  • 扫描图像

如果主机使用 HTTP/HTTPS 代理配置(静态或通过代理自动配置),Do​​cker Desktop 会读取此配置并自动使用这些设置登录 Docker、拉取和推送映像以及容器 Internet 访问。如果代理需要授权,则 Docker Desktop 会动态向开发人员询问用户名和密码。所有密码都安全地存储在操作系统凭据存储中。请注意,仅Basic支持代理身份验证方法,因此我们建议使用https:// HTTP/HTTPS 代理的 URL 来保护网络传输过程中的密码。 Docker Desktop 在与代理通信时支持 TLS 1.3。

要为 Docker Desktop 设置不同的代理,请打开手动代理配置http://proxy:port并输入或形式的单个上游代理 URL https://proxy:port

为防止开发人员意外更改代理设置,请参阅 设置管理

用于扫描图像的 HTTPS 代理设置是使用HTTPS_PROXY环境变量设置的。

如果您在 Docker 中运行 Windows 容器,则可以通过“为 Windows Docker 守护程序使用代理”设置,允许 Windows Docker 守护程序使用 Docker Desktop 的内部代理。当在系统级别手动配置或设置需要身份验证的公司代理时,这非常有用。如果您是组织的管理员并且拥有 Docker Business 订阅,则可以 使用参数通过设置管理windowsDockerdPort来控制此设置。

网络

笔记

“网络”选项卡在 Windows 容器模式中不可用,因为 Windows 管理网络。

Docker Desktop 使用私有 IPv4 网络来提供内部服务,例如 DNS 服务器和 HTTP 代理。如果 Docker Desktop 选择的子网与您环境中的 IP 发生冲突,您可以使用网络设置指定自定义子网。

WSL 集成

在 WSL 2 模式下,您可以配置哪些 WSL 2 发行版将具有 Docker WSL 集成。

默认情况下,集成在您的默认 WSL 发行版上启用。要更改默认的 WSL 发行版,请运行wsl --set-default <distro name>. (例如,要将 Ubuntu 设置为默认 WSL 发行版,请运行wsl --set-default ubuntu)。

您还可以选择任何您想要启用 WSL 2 集成的其他发行版。

有关配置 Docker Desktop 以使用 WSL 2 的更多详细信息,请参阅 Docker Desktop WSL 2 后端

Docker引擎

Docker Engine选项卡允许您配置用于通过 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 设置中检查和管理构建器。

检查

要检查构建器,请找到要检查的构建器并选择展开图标。您只能检查活动的构建器。

检查活动构建器显示:

  • 构建套件版本
  • 地位
  • 驱动器类型
  • 支持的功能和平台
  • 磁盘使用情况
  • 端点地址

选择不同的构建器

选定的构建器部分显示选定的构建器。要选择不同的构建器:

  1. 在可用构建器下找到您要使用的构建器
  2. 打开构建器名称旁边的下拉菜单。
  3. 选择“使用”以切换到此构建器。

您的构建命令现在默认使用选定的构建器。

创建一个构建器

要创建构建器,请使用 Docker CLI。请参阅 创建新构建器

删除构建器

如果出现以下情况,您可以删除构建器:

要删除构建器:

  1. 在可用构建器下找到您要删除的构建器
  2. 打开下拉菜单。
  3. 选择“删除”以删除该构建器。

如果构建器使用docker-containerkubernetes驱动程序,构建缓存也会与构建器一起被删除。

停止和启动构建器

使用 docker-container驱动程序的构建器 在容器中运行 BuildKit 守护进程。您可以使用下拉菜单启动和停止 BuildKit 容器。

如果容器停止,运行构建会自动启动容器。

您只能使用docker-container驱动程序启动和停止构建器。

Kubernetes

笔记

Kubernetes选项卡在 Windows 容器模式下不可用。

Docker Desktop 包含一个独立的 Kubernetes 服务器,以便您可以测试在 Kubernetes 上部署 Docker 工作负载。要打开 Kubernetes 支持并安装作为 Docker 容器运行的 Kubernetes 独立实例,请选择启用 Kubernetes

选择显示系统容器(高级)以在使用 Docker 命令时查看内部​​容器。

选择重置 Kubernetes 集群以删除所有堆栈和 Kubernetes 资源。

有关使用 Kubernetes 与 Docker Desktop 集成的更多信息,请参阅 在 Kubernetes 上部署

软件更新

“软件更新”选项卡会通知您 Docker Desktop 可用的任何更新。当有新的更新时,您可以选择立即下载更新,也可以选择“发行说明”选项来了解更新版本中包含的内容。

通过清除自动检查更新复选框来关闭更新检查 。这会禁用 Docker 菜单中的通知以及 Docker 仪表板上显示的通知徽章。要手动检查更新,请选择Docker 菜单中的检查更新选项。

要允许 Docker Desktop 在后台自动下载新更新,请选择始终下载更新。当有更新可用时,这会下载较新版本的 Docker Desktop。下载更新后,选择 应用并重新启动以安装更新。您可以通过 Docker 菜单或Docker 仪表板的“更新”部分来执行此操作。

开发中的功能

使用“扩展”选项卡可以:

  • 启用 Docker 扩展
  • 仅允许通过 Docker Marketplace 分发的扩展
  • 显示 Docker 扩展系统容器

有关 Docker 扩展的更多信息,请参阅扩展

功能控制

“功能控制”选项卡上,您可以控制Beta 功能实验功能的设置。

您还可以从“开发中的功能”选项卡注册 开发者预览计划

测试版功能

Beta 功能提供对未来产品功能的访问。这些功能仅用于测试和反馈,因为它们可能会在版本之间发生变化而不发出警告,或者从未来版本中完全删除它们。 Beta 功能不得在生产环境中使用。 Docker 不提供对测试版功能的支持。

实验特点

实验功能选项卡上,您可以选择允许功能标志。这些是 Docker 目前正在试验的功能。默认情况下此功能处于打开状态。

这些功能仅用于测试和反馈,因为它们可能会在版本之间发生变化而不发出警告,或者从未来版本中完全删除它们。 Docker 不提供对实验性功能的支持。

通知

使用“通知”选项卡打开或关闭以下事件的通知:

  • 任务和流程的状态更新
  • Docker 公告
  • Docker 调查

默认情况下,所有通知均处于打开状态。您将始终收到错误通知以及有关新 Docker Desktop 版本和更新的通知。

通知会立即出现在 Docker 仪表板的右下角,然后移至“通知”抽屉。要打开通知抽屉,请选择 通知