2026-03-26
Docker
0

目录

Mac M2 系统:用Homebrew安装Colima并配置Docker镜像加速(超详细避坑版)
一、前言:为什么选择Colima?
二、前置准备:确认系统与Homebrew环境
2.1 系统要求(Mac M2专属)
2.2 安装Homebrew(必做)
三、核心步骤:安装Colima与Docker CLI
3.1 安装Colima
3.2 安装Docker CLI
四、启动Colima,激活Docker服务
4.1 基础启动(默认配置)
4.2 自定义资源配置(推荐,适配Mac M2)
4.3 验证Colima与Docker连接正常
五、关键步骤:配置Docker镜像加速(重点避坑)
5.1 明确要配置的3个镜像加速地址
5.2 编辑Colima配置文件(核心操作)
步骤1:停止Colima(必须先停止,否则配置修改无效)
步骤2:打开Colima配置文件
步骤3:添加镜像加速配置(严格注意缩进!)
步骤4:保存并退出编辑器
5.3 重启Colima,使加速配置生效
六、验证镜像加速是否生效(必做)
七、常见问题与避坑指南(Mac M2专属)
问题1:Colima启动失败,提示“Job for docker.service failed”
问题2:验证加速时,未显示配置的3个镜像地址
问题3:Docker命令提示“Cannot connect to the Docker daemon”
问题4:之前安装过Docker Desktop,导致Colima启动失败
八、总结

Mac M2 系统:用Homebrew安装Colima并配置Docker镜像加速(超详细避坑版)

作为Mac M2用户,在本地开发中离不开Docker环境,但Docker Desktop不仅体积臃肿、后台资源占用高,还存在商业授权限制,对于追求轻量、高效的开发者来说并不友好。而Colima作为一款基于Lima构建的轻量级容器运行时工具,完美适配Apple Silicon(M1/M2系列)架构,开源免费、资源占用低,还能无缝对接Docker CLI,成为Mac M2用户替代Docker Desktop的最优解。

本文将详细讲解:如何在Mac M2系统上通过Homebrew安装Colima、启动Docker服务,以及最关键的——基于Colima配置文件,配置指定的3个Docker镜像加速地址,彻底解决国内拉取Docker镜像慢、超时的问题,全程步骤可复制,新手也能轻松上手。

一、前言:为什么选择Colima?

在Mac M2上使用Colima,相比Docker Desktop有3个核心优势,也是我放弃Docker Desktop的关键原因:

  • 轻量高效:Colima基于轻量Linux虚拟机(Lima)运行,默认仅占用2GB内存,启动速度快,不会像Docker Desktop那样常驻后台占用大量系统资源,尤其适合MacBook Air等资源受限设备;

  • 开源免费:采用MIT开源协议,无任何商业授权限制,个人开发、企业使用都无需担心版权问题,避免了Docker Desktop商业版的付费困扰;

  • 原生适配:完美支持Mac M2的ARM64架构,无需依赖Rosetta转译,可直接运行ARM版本容器,同时也支持通过Rosetta启用x86容器兼容模式,兼顾性能与兼容性;

  • 无缝兼容:启动Colima后,可直接使用标准Docker CLI命令(docker run、docker pull等),无需额外配置,迁移成本几乎为零。

本次我们将完成:Homebrew安装Colima → 安装Docker CLI → 启动Colima(Docker服务) → 配置3个指定镜像加速 → 验证加速生效,全程实操无冗余,附避坑指南。

二、前置准备:确认系统与Homebrew环境

2.1 系统要求(Mac M2专属)

确保你的Mac M2系统版本 ≥ macOS 10.15(Catalina),Apple Silicon架构原生支持,无需额外配置兼容性。可通过「关于本机」查看系统版本,若版本过低,建议先升级系统(避免Colima启动失败)。

2.2 安装Homebrew(必做)

Colima和Docker CLI均通过Homebrew安装,若你的Mac未安装Homebrew,执行以下命令一键安装(复制到终端直接运行):

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装过程中会提示输入电脑密码(用于授权Homebrew安装依赖),等待5-10分钟(取决于网络速度),出现“Installation successful”即安装完成。

安装完成后,执行以下命令验证Homebrew是否正常工作,避免后续安装失败:

bash
brew doctor # 检查Homebrew环境(无报错即正常) brew update # 更新软件包索引,确保下载最新版本

三、核心步骤:安装Colima与Docker CLI

注意:Colima仅提供Docker运行时环境(相当于Docker Engine),还需要安装Docker CLI(命令行工具)才能执行docker相关命令,两者缺一不可。

3.1 安装Colima

在终端执行以下命令,通过Homebrew安装Colima(当前最新稳定版本,适配Mac M2):

bash
brew install colima

安装过程中,Homebrew会自动安装Colima的依赖(如Lima虚拟机),无需手动干预,等待安装完成即可。Colima安装完成后,可通过以下命令查看版本,验证安装成功:

bash
colima version

若输出类似“colima version 0.10.0”(版本号可能不同),说明Colima安装成功。

3.2 安装Docker CLI

执行以下命令,安装Docker命令行工具(Docker CLI):

bash
brew install docker docker-compose

docker-compose用于管理多容器应用,建议一起安装,后续开发中会用到。安装完成后,验证Docker CLI版本:

bash
docker --version # 查看Docker CLI版本 docker-compose --version # 查看Docker Compose版本

输出类似“Docker version 29.0.1, build 7d4bcd8”即安装成功。此时Docker CLI已安装,但由于还未启动Colima(Docker运行时),执行docker相关命令会提示“无法连接Docker守护进程”,属于正常现象,下一步启动Colima即可解决。

四、启动Colima,激活Docker服务

Colima启动后,会自动创建一个轻量Linux虚拟机,在其中启动Docker守护进程,并自动配置Docker上下文(无需手动切换),启动命令非常简单。

4.1 基础启动(默认配置)

在终端执行以下命令,启动Colima(默认配置:2核CPU、2GB内存,足够日常开发使用):

bash
colima start

首次启动时,Colima会下载Lima虚拟机镜像(约几百MB),速度取决于网络,耐心等待即可。启动成功后,终端会输出类似以下日志:

bash
INFO[0001] starting colima INFO[0001] runtime: docker INFO[0004] starting ... context=vm INFO[0012] provisioning ... context=docker INFO[0015] starting ... context=docker INFO[0020] ready

出现“ready”即表示Colima启动成功,Docker服务已激活。

4.2 自定义资源配置(推荐,适配Mac M2)

若你的Mac M2配置较高(如16GB内存),可在启动时指定CPU、内存和磁盘大小,提升Docker运行性能,命令如下(按需调整参数):

bash
colima start --cpu 4 --memory 8 --disk 40

参数说明:

  • --cpu 4:分配4核CPU(Mac M2默认8核,建议分配4-6核);

  • --memory 8:分配8GB内存(建议不超过系统内存的一半,避免影响Mac正常使用);

  • --disk 40:分配40GB磁盘空间(用于存储Docker镜像和容器数据)。

4.3 验证Colima与Docker连接正常

Colima启动后,执行以下命令,验证Docker服务是否正常工作:

bash
docker run hello-world

若输出“Hello from Docker!”相关内容,说明Colima与Docker CLI连接正常,Docker服务已完全激活,可以正常使用Docker命令了。

补充:Colima的常用管理命令(后续会用到):

bash
colima stop # 优雅停止Colima(推荐,会保存容器状态) colima stop --force # 强制停止Colima(用于异常状态) colima restart # 重启Colima colima status # 查看Colima运行状态 colima delete # 彻底删除Colima实例(谨慎使用,会删除镜像和容器)

五、关键步骤:配置Docker镜像加速(重点避坑)

这是本文的核心的部分!国内直接拉取Docker官方镜像(Docker Hub、GHCR)速度极慢,甚至会超时失败,我们需要配置指定的3个镜像加速地址,实现快速拉取。

注意:Colima的Docker配置不使用传统的/etc/docker/daemon.json文件,而是通过自身的配置文件(colima.yaml)管理,修改后重启Colima即可生效,这也是很多新手容易踩坑的地方——误以为和Linux系统的Docker配置方式一致,导致配置无效。

5.1 明确要配置的3个镜像加速地址

本次需要配置的3个镜像加速地址,覆盖了Docker Hub和GHCR的加速,适配日常所有镜像拉取场景:

5.2 编辑Colima配置文件(核心操作)

Colima的默认配置文件路径为:~/.colima/default/colima.yaml,我们需要在这个文件中添加镜像加速配置,步骤如下:

步骤1:停止Colima(必须先停止,否则配置修改无效)

bash
colima stop

步骤2:打开Colima配置文件

使用nano编辑器打开配置文件(简单易操作,适合新手),命令如下:

bash
nano ~/.colima/default/colima.yaml

打开后,你会看到配置文件的默认内容(包含注释和默认配置),其中有一行“docker: {}”,这就是我们需要修改的地方。

步骤3:添加镜像加速配置(严格注意缩进!)

YAML格式对缩进要求极端严格,错一个空格就会导致Colima启动失败(这是最常见的坑),请务必按照以下格式修改:

找到文件中的“docker: {}”,将其替换为以下内容(复制粘贴即可,确保缩进正确):

yaml
# Docker daemon configuration that maps directly to daemon.json. # https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file. # NOTE: some settings may affect Colima's ability to start docker. e.g. `hosts`. # # EXAMPLE - disable buildkit # docker: # features: # buildkit: false # # EXAMPLE - add insecure registries # docker: # insecure-registries: # - myregistry.com:5000 # - host.docker.internal:5000 # # Colima default behaviour: buildkit enabled # Default: {} docker: registry-mirrors: - https://mirror.ccs.tencentyun.com - https://docker.m.daocloud.io - https://ghcr.m.daocloud.io

⚠️ 避坑提醒(必看):

  • 必须使用空格缩进,不能用Tab键(Tab缩进会导致配置解析失败);

  • “docker:”顶格写,后面加一个空格(YAML语法要求);

  • “mirrors:”前面缩进2个空格,后面加一个空格;

  • 每个加速地址前面缩进4个空格,以“- ”开头(横杠后面加一个空格);

  • 加速地址不能有多余的符号(如引号、逗号),直接复制粘贴即可。

若你不确定缩进是否正确,可直接删除原有的“docker: {}”,复制上面的完整配置(从“docker:”开始),粘贴到配置文件中,确保格式和上面一致。

步骤4:保存并退出编辑器

nano编辑器的保存退出操作:

  1. 按键盘上的「Control + O」(字母O,不是数字0),弹出保存提示,按「回车」确认保存;

  2. 按「Control + X」,退出nano编辑器,回到终端。

5.3 重启Colima,使加速配置生效

配置修改完成后,执行以下命令重启Colima,加载新的镜像加速配置:

bash
colima start

重启过程和首次启动类似,等待出现“ready”即重启成功,此时镜像加速配置已生效。

六、验证镜像加速是否生效(必做)

配置完成后,一定要验证加速是否生效,避免配置错误导致白忙活,执行以下命令即可快速验证:

bash
docker info | grep -A 5 "Registry Mirrors"

若输出以下内容(包含我们配置的3个加速地址),说明镜像加速配置完全生效

bash
Registry Mirrors: https://mirror.ccs.tencentyun.com/ https://docker.m.daocloud.io/ https://ghcr.m.daocloud.io/

补充:测试加速效果(可选)

我们可以拉取一个常用镜像(如nginx),测试加速后的拉取速度:

bash
docker pull nginx

若拉取速度从原来的几KB/s提升到几十MB/s,甚至上百MB/s,说明加速效果明显,配置成功。

也可以测试GHCR镜像拉取(之前容易超时),验证DaoCloud GHCR加速是否生效:

bash
docker pull ghcr.io/github/super-linter:latest

若能正常拉取,无超时提示,说明GHCR加速配置成功。

七、常见问题与避坑指南(Mac M2专属)

在操作过程中,新手可能会遇到一些问题,这里整理了最常见的3个问题及解决方案,帮你快速避坑。

问题1:Colima启动失败,提示“Job for docker.service failed”

✅ 原因:colima.yaml配置文件语法错误(90%是缩进错误,比如用了Tab、缩进不一致),导致Docker守护进程无法启动。

✅ 解决方案:

  1. 强制停止Colima:colima stop -f

  2. 重新编辑配置文件:nano ~/.colima/default/colima.yaml

  3. 严格按照本文5.2节的格式,重新添加镜像加速配置(确保用空格缩进,无Tab);

  4. 保存退出后,重新启动Colima:colima start

若仍失败,可执行colima delete default -f删除异常实例,再重新执行colima start(会重建实例,不会删除本地镜像和容器)。

问题2:验证加速时,未显示配置的3个镜像地址

✅ 原因:Colima未加载新的配置,或配置文件路径错误。

✅ 解决方案:

  1. 确认配置文件路径正确:必须是~/.colima/default/colima.yaml(default是Colima的默认实例名称);

  2. 重新停止并重启Colima:colima stop && colima start

  3. 若仍未显示,执行重建实例命令:colima delete default -f && colima start,重建后重新配置加速。

问题3:Docker命令提示“Cannot connect to the Docker daemon”

✅ 原因:Colima未启动,或Docker上下文未自动切换。

✅ 解决方案:

  1. 启动Colima:colima start

  2. 查看Docker上下文:docker context ls,确保当前上下文为“colima”;

  3. 若上下文不是colima,执行docker context use colima切换,再重新执行Docker命令。

问题4:之前安装过Docker Desktop,导致Colima启动失败

✅ 原因:Docker Desktop残留的socket文件(/private/var/run/docker.sock)与Colima冲突。

✅ 解决方案:彻底卸载Docker Desktop,删除残留文件:

bash
# 删除残留socket文件 sudo rm /private/var/run/docker.sock # 停止并重启Colima colima stop -f && colima start

八、总结

对于Mac M2用户来说,Colima + Docker CLI的组合,是替代Docker Desktop的最优解——轻量、开源、免费,且适配性拉满。本文通过详细的步骤,完成了从Homebrew安装Colima、Docker CLI,到启动Colima服务、配置指定镜像加速的全过程,重点强调了YAML配置的缩进问题(最容易踩坑),以及常见问题的解决方案。

核心要点回顾:

  • Colima配置Docker镜像加速,需修改~/.colima/default/colima.yaml,而非/etc/docker/daemon.json;

  • YAML配置必须用空格缩进,禁用Tab,否则会导致Colima启动失败;

  • 配置完成后,重启Colima即可生效,用docker info | grep -A 5 "Registry Mirrors"验证;

  • 3个加速地址覆盖了Docker Hub和GHCR,解决国内拉取镜像慢、超时的问题。

按照本文步骤操作,新手也能轻松搭建Mac M2的Docker开发环境,后续使用Docker命令和之前完全一致,无需额外适应。如果在操作过程中遇到其他问题,可在评论区留言,我会及时回复解答。

(注:文档部分内容可能由 AI 生成)

本文作者:JACK WEI

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!