if-docker-desktop-is-necessary-on-macos15

macOS与docker共舞的第二舞池

devops
it
cli回归第二波,烦gui久已
作者

Adopapa

日期

2025年03月12日

Modified

2025年03月12日

Keywords

macOS, docker, brew, colima

缘起

gui go, cli come的时代,word要干掉,docker desktop感觉有点尾大不掉,总是要登录,然后对国内又不友好吧。

macOS vs Docker

为什么 Docker Desktop 更方便?

  • 自动管理虚拟机、网络和存储。

  • 集成 Kubernetes、镜像构建等高级功能。

  • 适合不想折腾命令行的用户。

Docker Desktop 是否是macOS上必须的?

  • 官方推荐:Docker Desktop 是 macOS 上最直接的解决方案,它集成了完整的 Docker 环境(包括 Docker Engine、CLI、Compose 等),并提供图形界面管理。

  • 非必须:如果你希望避免安装 Docker Desktop(例如因资源占用、许可证问题),可以通过其他工具(如 colimadocker-machine 等)运行 Docker Daemon。

brew install docker 是否足够?

  • 不足:仅执行 brew install docker 只会安装 Docker 客户端工具(CLI),但缺少核心的 Docker Daemon(服务端),直接运行会报错 Cannot connect to the Docker daemon

  • 需要额外步骤:必须通过虚拟机或容器运行时启动 Docker Daemon,常见方案如下:

替代方案-推荐

安装colima

Code
# 方案 1:使用 Colima(推荐)
# 安装 Docker CLI 和 Colima
brew install docker colima

意外-运行卡壳了怎么办

Code
# 扫掉卡壳的命令
# lsof | grep lima    # macOS上不行
ps aux | grep brew  #
kill -9 <PID>   # 通常会显示至少两个命令,其中一个是由上面命令产生的

启动服务

安装程序提供的启动服务

Code
# To start colima now and restart at login:
$ brew services start colima # 启动第一会下载镜像,网络链接不稳定会出错。
# Or, if you don't want/need a background service you can just run:
$ /opt/homebrew/opt/colima/bin/colima start -f
Code

colima start # ai给的方案,需要看安装后的提示,如下

# 验证 Docker 是否正常工作
docker ps

优化colima

Code
# 优先使用 VirtioFS:
# 启动 Colima 时启用 VirtioFS
# 如果你的容器镜像已经支持 ARM 架构(大多数现代镜像都支持),建议使用
colima start --vm-type=qemu --mount-type=virtiofs

# 仅在需要时启用 Rosetta:
# 启动时启用 Rosetta 转译(仅 Apple Silicon)
# 如果你需要运行基于 x86_64 架构的容器镜像,才启用 Rosetta。
colima start --vm-type=qemu --rosetta

# 可以同时启动,会有更多的资源消耗
# 如果你既需要高性能的文件共享,又需要运行 x86_64 架构的容器,可以同时启用 VirtioFS 和 Rosetta:
colima start --vm-type=qemu --mount-type=virtiofs --rosetta

# 调整虚拟机资源分配
# 分配更多 CPU 和内存
colima start --cpu 4 --memory 8

## apple m3 pro 的分配建议
# 轻量级开发环境(少量容器,低资源需求):
colima start --cpu 4 --memory 8
# 中等负载开发环境(多个容器,适度资源需求):
colima start --cpu 6 --memory 12
# 高性能开发环境(大量容器或高性能需求): 如果你的 Mac 配备 32GB 或更多内存,可以分配更多资源:
colima start --cpu 8 --memory 16

完整的启动命令

Code
# 原始的教程由问题,解决了
colima start --vm-type=vz --mount-type=virtiofs --cpu 6 --memory 12


BKJZ-CSPV

意外-命令卡壳了

Code

5. 总结

  • 必须安装 Docker Desktop? 否,但它是官方最简化的选择。

  • 仅 brew install docker 是否够用? 不够,需额外配置 Daemon。

  • 替代方案:使用 colima 或 docker-machine + 虚拟机工具。

  • colima启用 VirtioFS 后,ColimaDocker Desktop 性能接近;默认配置下,Docker Desktop 文件系统更快