在 Mac 上更改 Docker 桌面设置

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

要导航至“设置”

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

您还可以settings.json在 处找到该文件~/Library/Group Containers/group.com.docker/settings.json

一般的

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

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

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

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

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

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

  • 将 VM 包含在 Time Machine 备份中。选择备份 Docker Desktop 虚拟机。默认情况下此选项处于关闭状态。

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

  • 使用虚拟化框架。选择以允许 Docker Desktop 使用virtualization.framework代替hypervisor.framework.

    提示

    打开此设置可以使 Docker Desktop 运行得更快。

  • 为您的容器选择文件共享实现。选择是否要使用VirtioFSgRPC FUSE还是osxfs共享文件。 VirtioFS 仅适用于 macOS 版本 12.5 及更高版本,并且默认情况下处于开启状态。

    提示

    使用 VirtioFS 实现快速文件共享。 VirtioFS 已将完成文件系统操作所需的时间减少了 高达 98%

  • 使用 Rosetta 在 Apple Silicon 上进行 x86_64/amd64 仿真。打开 Rosetta 以加速 Apple Silicon 上的 x86/AMD64 二进制仿真。仅当您在常规设置选项卡中打开虚拟化框架时,此选项才可用。您还必须使用 macOS Ventura 或更高版本。

  • 发送使用情况统计数据。选择此项后 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、内存、磁盘、代理、网络和其他资源。

先进的

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

高级设置有:

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

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

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

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

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

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

提示

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

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

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

    笔记

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

文件共享

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

默认情况下, 、 、/Users/Volumes目录是共享的。如果您的项目位于此目录之外,则必须将其添加到列表中,否则您可能会在运行时出现错误。/private/tmp/var/foldersMounts deniedcannot start service

文件共享设置为:

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

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

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

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

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

有关详细信息,请参阅卷 安装需要对外部的任何项目目录进行文件共享/Users

代理

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

您还可以选择对 UDP 使用内核网络。这使您可以通过更改文件kernelForUDP中的值来使用更有效的 UDP 内核网络路径settings.json

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

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 仪表板的右下角,然后移至“通知”抽屉。要打开通知抽屉,请选择 通知

先进的

“高级”选项卡上,您可以重新配置初始安装设置:

  • 选择如何配置 Docker 的 CLI 工具的安装

    • 系统:Docker CLI工具安装在系统目录下/usr/local/bin
    • User:Docker CLI工具安装在user目录下$HOME/.docker/bin。然后您必须将其添加$HOME/.docker/bin到您的 PATH 中。添加$HOME/.docker/bin到您的路径:
      1. 打开您的 shell 配置文件。这是~/.bashrc如果您使用的是 bash shell,或者~/.zshrc如果您使用的是 zsh shell。
      2. 复制并粘贴以下内容:
        $ export PATH=$PATH:~/.docker/bin
        
      3. 保存并关闭文件。重新启动 shell 以应用对 PATH 变量的更改。
  • 启用默认 Docker 套接字(需要密码)。创建/var/run/docker.sock一些第三方客户端可以用来与 Docker Desktop 进行通信的内容。有关更多信息,请参阅 macOS 的权限要求

  • 启用特权端口映射(需要密码)。启动特权帮助程序进程,该进程绑定 1 到 1024 之间的端口。有关更多信息,请参阅 macOS 的权限要求

    有关每个配置和用例的更多信息,请参阅 权限要求

  • 自动检查配置。定期检查您的配置,以确保其他应用程序没有进行意外的更改。

    Docker Desktop 检查您在安装过程中配置的设置是否已被 Orbstack 等外部应用程序更改。 Docker 桌面检查:

    • Docker 二进制文件到/usr/local/bin.
    • 默认 Docker 套接字的符号链接。此外,Docker Desktop 确保在启动时切换到上下文desktop-linux

    如果发现更改,您会收到通知,并且能够直接从通知中恢复配置。