更改 Windows 上的 Docker Desktop 设置

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

要导航到 **设置**,您可以

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

您也可以在 C:\Users\[USERNAME]\AppData\Roaming\Docker\settings.json 中找到 settings.json 文件。

一般

在 **常规** 选项卡上,您可以配置 Docker 的启动时间并指定其他设置

  • **登录计算机时启动 Docker Desktop**。选中此选项可在您登录计算机时自动启动 Docker Desktop。

  • **Docker Desktop 启动时打开 Docker 仪表板**。选中此选项可在启动 Docker Desktop 时自动打开仪表板。

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

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

  • **默认情况下启用 Docker 调试**。选中此选项以在访问集成终端时默认使用 Docker 调试。有关更多信息,请参阅 探索容器

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

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

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

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

  • **发送使用统计信息**。选中此选项可使 Docker Desktop 发送诊断信息、崩溃报告和使用数据。这些信息有助于 Docker 改善和排查应用程序问题。清除复选框以选择退出。Docker 可能会定期提示您提供更多信息。

  • **使用增强型容器隔离**。选中此选项以通过防止容器破坏 Linux 虚拟机来增强安全性。有关更多信息,请参阅 增强型容器隔离

    注意

    此设置仅在您登录 Docker Desktop 且拥有 Docker Business 订阅的情况下可用。

  • **显示 CLI 提示**。在 CLI 中运行 Docker 命令时显示 CLI 提示和技巧。默认情况下,此选项处于启用状态。要在 CLI 中启用或禁用 CLI 提示,请分别将 DOCKER_CLI_HINTS 设置为 truefalse

  • **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 实用程序虚拟机 的内存、CPU 和交换空间限制。

在 **高级** 选项卡上,您可以限制可用于 Docker Linux 虚拟机的资源。

高级设置包括

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

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

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

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

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

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

提示

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

  • **资源节约器**。启用或禁用 资源节约器模式,该模式通过在 Docker Desktop 空闲时(即没有容器正在运行)自动关闭 Linux 虚拟机来显着降低主机上的 CPU 和内存使用率。

    您还可以配置资源节约器超时,该超时表示 Docker Desktop 应在空闲多长时间后才会启动资源节约器模式。默认值为 5 分钟。

    注意

    退出资源节约器模式会在容器运行时自动发生。退出可能需要几秒钟(约 3 到 10 秒),因为 Docker Desktop 正在重新启动 Linux 虚拟机。

文件共享

注意

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

同步文件共享

同步文件共享是一种替代文件共享机制,它提供快速灵活的主机到虚拟机文件共享,通过使用同步文件系统缓存来提高绑定挂载性能。适用于 Pro、Team 和 Business 订阅。

要了解更多信息,请参阅 同步文件共享

虚拟文件共享

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

请注意,为 Windows 容器配置文件共享不是必需的,仅适用于 Linux 容器。如果目录未与 Linux 容器共享,您可能会在运行时遇到 文件未找到无法启动服务 错误。请参阅 卷挂载需要 Linux 容器的共享文件夹

文件共享设置包括

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

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

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

有关共享文件夹、权限和卷挂载的提示

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

按需共享文件夹

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

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

您可以选择**共享它**,在这种情况下,它将被添加到您的 Docker Desktop 共享文件夹列表中,并可供容器使用。或者,您也可以选择不共享它,方法是选择**取消**。

Shared folder on demand

代理

Windows 上的 Docker Desktop 支持使用 HTTP/HTTPS 和 SOCKS5 代理

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

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

如果主机使用 HTTP/HTTPS 代理配置(静态或通过代理自动配置 (PAC)),Docker Desktop 会读取此配置并自动将这些设置用于登录 Docker、拉取和推送镜像以及容器的 Internet 访问。

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

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

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

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

注意

如果您使用托管在 Web 服务器上的 PAC 文件,请确保为服务器或网站上的 .pac 文件扩展名添加 MIME 类型 application/x-ns-proxy-autoconfig。没有此配置,PAC 文件可能无法正确解析。

代理身份验证

Docker Desktop 支持基本、Kerberos 和 NTLM 代理身份验证方法。

基本身份验证

如果您的代理使用基本身份验证,Docker Desktop 会提示开发人员输入用户名和密码,并缓存凭据。所有密码都安全地存储在操作系统凭据存储中。如果该缓存被删除,它将请求重新身份验证。

建议您对 HTTP/HTTPS 代理使用 https:// URL,以在网络传输期间保护密码。Docker Desktop 还支持 TLS 1.3 用于与代理的通信。

Kerberos 和 NTLM 身份验证

Kerberos 和 NTLM 代理身份验证适用于拥有 Docker Desktop 4.30 及更高版本的 Business 订阅用户。除了指定代理 IP 地址和端口外,无需进行其他配置。

开发人员不再因提示输入代理凭据而被打断,因为身份验证已集中。这也降低了由于错误的登录尝试导致帐户锁定的风险。

如果您的代理在 407(Proxy Authentication Required) 响应中提供多个身份验证方案,Docker Desktop 默认情况下会选择基本身份验证方案。如果您的代理服务器为 Kerberos 或 NTLM 身份验证配置正确,您可以在 Docker Desktop 安装过程中启用 Kerberos/NTLM 代理身份验证。为此,您需要从命令行安装 Docker Deskop 并传递安装程序标志“--proxy-enable-kerberosntlm”。适用于 Docker Desktop 4.32 及更高版本。

注意

Docker Desktop 还支持使用 SOCKS5 代理

网络

注意

**网络**选项卡在 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 Engine

**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 设置中检查和管理构建器。

检查

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

检查活动构建器会显示

  • BuildKit 版本
  • 状态
  • 驱动程序类型
  • 支持的功能和平台
  • 磁盘使用情况
  • 端点地址

选择其他构建器

**选定的构建器**部分显示选定的构建器。要选择其他构建器

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

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

创建构建器

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

删除构建器

如果您要删除构建器,则需要满足以下条件

要删除构建器

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

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

停止和启动构建器

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

运行构建会自动启动容器(如果它已停止)。

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

Kubernetes

注意

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

Docker Desktop 包含一个独立的 Kubernetes 服务器,以便您可以测试将 Docker 工作负载部署到 Kubernetes 上。要打开 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 功能不得用于生产环境。Docker 不提供对 Beta 功能的支持。

实验性功能

在 **实验功能** 选项卡中,您可以选择允许功能标志。这些是 Docker 目前正在试验的功能。默认情况下,此功能已启用。

这些功能仅用于测试和反馈,因为它们可能会在版本之间更改,恕不另行通知,或者完全从未来版本中删除。Docker 不提供对实验功能的支持。

通知

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

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

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

通知会暂时出现在 Docker 仪表板的右下角,然后移至 **通知** 抽屉。要打开 **通知** 抽屉,请选择 notifications