Skip to content

Docker 安装(MacOS)

本章将详细介绍如何在 macOS 系统上安装和配置 Docker。

系统要求

Docker Desktop for Mac 要求

Apple Silicon(M1/M2/M3/M4):

  • macOS 12.0 (Monterey) 或更新版本
  • 至少 4GB RAM

Intel 芯片:

  • macOS 12.0 (Monterey) 或更新版本
  • 至少 4GB RAM

安装方法一:官网下载安装(推荐)

1. 下载 Docker Desktop

访问 Docker Desktop for Mac 下载对应芯片版本的 .dmg 文件:

  • Apple Silicon(M1/M2/M3/M4):选择 "Mac with Apple chip"
  • Intel 芯片:选择 "Mac with Intel chip"

2. 安装

bash
# 打开下载的 .dmg 文件
# 将 Docker.app 拖拽到 Applications 文件夹

3. 启动 Docker Desktop

bash
# 从 Applications 文件夹启动
open /Applications/Docker.app

首次启动时,macOS 可能会提示授权,按提示操作即可。

4. 验证安装

bash
docker --version
docker run hello-world

安装方法二:使用 Homebrew

bash
# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 使用 Homebrew 安装 Docker Desktop
brew install --cask docker

# 启动 Docker Desktop
open /Applications/Docker.app

Docker Desktop 设置

资源配置

在 Docker Desktop 的 "Settings" → "Resources" 中调整:

配置项推荐值说明
CPUs2-4分配给 Docker 的 CPU 核心数
Memory4-8 GB分配给 Docker 的内存
Swap1-2 GB交换空间大小
Disk image size60+ GB虚拟磁盘大小

文件共享

macOS 版 Docker Desktop 默认共享以下目录:

  • /Users
  • /Volumes
  • /private
  • /tmp
  • /var/folders

如需添加其他目录,在 "Settings" → "Resources" → "File Sharing" 中配置。

Docker Engine 配置

在 "Settings" → "Docker Engine" 中编辑 daemon.json

json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

命令行工具

Docker Desktop 安装后会自动配置以下命令行工具:

bash
# Docker CLI
docker --version

# Docker Compose
docker compose version

# Docker Buildx
docker buildx version

常见问题

Apple Silicon 兼容性

部分 Docker 镜像可能没有 ARM64 版本,可以通过指定平台运行:

bash
# 强制使用 x86_64 架构(通过 Rosetta 2 模拟)
docker run --platform linux/amd64 some-image

在 Docker Desktop 设置中启用 "Use Rosetta for x86_64/amd64 emulation on Apple Silicon" 可以提升兼容性。

磁盘空间不足

bash
# 清理未使用的镜像、容器和数据卷
docker system prune -a

# 查看 Docker 磁盘使用情况
docker system df

Docker Desktop 无法启动

  • 确保 macOS 版本满足要求
  • 尝试重置 Docker Desktop:Settings → Troubleshoot → Reset to factory defaults
  • 删除并重新安装

网络问题

bash
# 重置 Docker 网络
docker network prune

# 如果 DNS 解析有问题,配置 daemon.json
{
  "dns": ["8.8.8.8", "8.8.4.4"]
}

卸载 Docker Desktop

方法一:手动卸载

bash
# 从 Applications 中删除
rm -rf /Applications/Docker.app

# 清理相关文件
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/.docker

方法二:使用 Homebrew

bash
brew uninstall --cask docker

延伸阅读