Docker Desktop 把 Docker Engine、命令行工具和本机 Linux 虚拟机放在一个桌面应用里。装好后,你可以在终端运行容器;如果下载 Docker Hub 镜像较慢,也可以在 Desktop 里配置单位或云服务商提供的可信镜像地址。

先记住两点:镜像加速不是免流量,首次拉取仍要传输镜像层;代理设置和镜像地址也不是一回事。本文只示范 macOS,不会为练习拉取新镜像。

安装前确认芯片、系统和许可

打开“终端”,查看芯片架构:

uname -m
  • arm64 通常对应 Apple 芯片;下载页选择 Apple silicon 版本。
  • x86_64 对应 Intel;选择 Intel 版本。

Docker Desktop for Mac 要求受支持的 macOS 版本和至少 4 GB 内存。官方支持范围会随新 macOS 发布而滚动,下载前请看当前系统要求,不要照抄旧教程里的系统版本号。

还要先核对使用许可。Docker 官方说明,个人使用、教育、非商业开源项目和符合规模条件的小企业可免费使用;员工超过250人或年营收超过1000万美元的企业商业使用,以及政府机构使用,可能需要付费订阅。以当前 Docker Desktop 条款和组织采购规则为准。

从官方页面安装

  1. 打开 Docker Desktop for Mac 官方安装页,按 uname -m 结果下载 Apple silicon 或 Intel 版。
  2. 打开下载的 Docker.dmg,把 Docker 图标拖到“应用程序”。复制完成后,从“应用程序”或 Spotlight 启动 Docker Desktop。
  3. 首次启动时阅读并自行处理 Docker Subscription Service Agreement。未接受条款时,Desktop 不会运行;如遇管理员授权提示,先确认它对应的设置,再决定是否允许。
  4. 等待 Docker Desktop 显示 Engine 已启动,再回到终端检查:
docker --version
docker version
docker compose version
docker context show

docker version 会分别显示 Client 和 Server。Mac 上 Server 显示 Linux 是正常的:Docker Desktop 在 Linux 虚拟机里运行 Engine。若只有 Client、没有 Server,先打开 Docker Desktop 等待 Engine 启动,再用 docker context ls 查看当前连接;有多个 context 时不要盲目切换。

配置可信的 Docker Hub 镜像地址

只有在单位、云服务商或你管理的镜像服务提供了可用 HTTPS 地址时才配置。不要从不明网页复制公共镜像地址,也不要为了绕过证书错误打开“不安全仓库”。镜像服务会看到它代理的请求;用于私有仓库的账号和镜像权限也必须由管理员妥善限制。

  1. 打开 Docker Desktop → Settings → Docker Engine。
  2. 保留现有 JSON 配置,只把下面的 registry-mirrors 字段合并进去,并把示例地址替换成管理员给你的地址:
{
  "registry-mirrors": ["https://mirror.example.org"]
}

如果原配置已经有其他键,不要用这段示例覆盖整个文件。JSON 里不能加注释;每个字段之间要有逗号。

  1. 保存并重启 Docker Desktop。回到终端确认 Engine 读到了配置:
docker info --format '{{json .RegistryConfig.Mirrors}}'

命令会输出当前镜像地址列表。不要把带有内部域名的输出公开贴到论坛或工单。

Docker 的 registry mirror 用于 Docker Hub 镜像拉取;它不保证替代其他镜像仓库,也不保证缓存里已有你请求的所有层。第一次拉取或缓存缺失时仍可能访问上游并产生流量。设置镜像后,请先检查将要下载的镜像名、标签和大小,再决定是否拉取。

代理与镜像地址分别检查

如果浏览器能上网、docker pull 却超时,检查 Docker Desktop 的 Settings → Resources → Proxies。Desktop 应用流量和容器拉取流量有对应的代理设置;Docker Desktop 文档说明,镜像拉取始终经过 Containers proxy 配置。macOS 的 TUN 或系统代理状态本身不能证明 Docker Engine 当前走了哪条路。

按顺序排查:

  1. docker context show:确认 CLI 正在连接预期的 Docker Desktop context。
  2. docker version:确认 Server 已连接。
  3. docker info --format '{{json .RegistryConfig.Mirrors}}':确认镜像配置是否已加载。
  4. Docker Desktop → Settings → Resources → Proxies:检查代理模式、地址和绕过规则是否适合当前网络。
  5. 只用一个你有权访问、且确实需要的镜像做拉取验证;先看镜像大小和网络计费,再执行 docker pull <镜像名:标签>。

docker run --rm hello-world 是常见的首次试跑命令,但如果本机没有该镜像,Docker 会先下载它。流量有限时先用 docker image ls 查看本地缓存;不要为了验证而自动拉取,也不要执行 docker system prune -a --volumes 来“加速”——它可能删除缓存镜像和命名卷里的数据。

本机核验记录

本机现有 Docker Desktop Engine 为 29.5.3,Compose 为 5.1.4,desktop-linux context 可连接,docker info 显示已有一条 registry mirror 配置。本文只运行了版本、context 和 Engine 信息查询,没有改动代理或镜像设置,也没有拉取镜像;hello-world 不在本机缓存中。因此这份实测确认了本机安装和当前配置可读,不代表某个外部镜像地址速度正常,也不代表首次安装流程或任意网络都已验证。

Docker Desktop 官方安装页、设置说明及镜像缓存文档见上方链接。安装包、服务协议、镜像端点和适用许可可能变化,执行前请复核官方页面和组织规定。