更改 Linux 上的 Docker Desktop 设置

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

要导航到 **设置**,请执行以下操作:

  • 选择 Docker 菜单 whale menu,然后选择 **设置**
  • 从 Docker 仪表板选择 **设置** 图标。

你也可以在 ~/.docker/desktop/settings.json 中找到 settings.json 文件。

一般

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

  • **登录计算机时启动 Docker Desktop**。选择此选项,以便在登录计算机时自动启动 Docker Desktop。

  • **Docker Desktop 启动时打开 Docker 仪表板**。选择此选项,以便在启动 Docker Desktop 时自动打开仪表板。

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

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

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

  • **使用 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、内存、磁盘、代理、网络和其他资源。

高级

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

高级设置是

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

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

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

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

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

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

提示

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

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

    你也可以配置资源节约器超时,该超时指示 Docker Desktop 在资源节约器模式生效之前应保持空闲状态的时间。默认值为 5 分钟。

    注意

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

文件共享

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

同步文件共享

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

要了解有关此内容的更多信息,请参阅 同步文件共享

虚拟文件共享

默认情况下,/home/<user> 目录是共享的。如果你的项目位于此目录之外,则必须将其添加到列表中,否则在运行时可能会出现 挂载被拒绝无法启动服务 错误。

文件共享设置是

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

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

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

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

  • 仅与容器共享所需的目录。文件共享会引入开销,因为主机上任何文件的更改都需要通知 Linux 虚拟机。共享太多文件会导致高 CPU 负载和缓慢的文件系统性能。
  • 共享文件夹旨在允许在主机上编辑应用程序代码,同时在容器中执行代码。对于诸如缓存目录或数据库等非代码项,如果它们存储在 Linux 虚拟机中,使用 数据卷(命名卷)或 数据容器,性能会好得多。

代理

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

HTTP/HTTPS 代理可用于

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

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

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

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

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

注意

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

网络

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

Docker Engine

**Docker Engine** 选项卡允许您配置用于使用 Docker Desktop 运行容器的 Docker 守护程序。

您使用 JSON 配置文件配置守护程序。以下是该文件可能的样子

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false
}

您可以在 $HOME/.docker/daemon.json 中找到此文件。要更改配置,可以从 Docker Desktop 中的仪表板直接编辑 JSON 配置文件,也可以使用您喜欢的文本编辑器打开并编辑该文件。

注意

只有 **Docker Desktop** 守护程序使用 $HOME/.docker 下的配置文件。如果您手动安装 Docker Engine 与 Docker Desktop 一起安装,则手动安装的实例将在不同位置使用 daemon.json 配置文件。有关如何在手动安装的 Docker Engine 上配置 Docker 守护程序的更多信息,请参阅 配置守护程序

要查看所有可能的配置选项列表,请参阅 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

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

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

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

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

软件更新

**软件更新** 选项卡会通知您 Docker Desktop 可用的任何更新。如果有新更新,请选择 **发布说明** 选项以了解更新版本中包含的内容。

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

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

扩展

使用 **扩展** 选项卡来

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

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

开发中的功能

在 **功能控制** 选项卡上,您可以控制 **Beta 功能** 和 **实验功能** 的设置。

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

测试版功能

Beta 功能提供对未来产品功能的访问。这些功能仅供测试和反馈使用,因为它们可能会在发布之间发生更改,恕不另行通知,或者完全从未来版本中删除。Beta 功能不得在生产环境中使用。Docker 不提供对 Beta 功能的支持。

实验性功能

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

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

通知

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

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

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

通知会在 Docker 仪表板的右下方短暂显示,然后移到 **通知** 抽屉。要打开 **通知** 抽屉,请选择 notifications