在mac中安装Colima使用docker(替代Docker Desktop)

目录

[推荐方案:Colima + Docker CLI(原生 ARM 支持)](#推荐方案:Colima + Docker CLI(原生 ARM 支持))

[步骤 1: 安装必需工具](#步骤 1: 安装必需工具)

[步骤 2: 启动 Colima (优化 ARM 虚拟机)](#步骤 2: 启动 Colima (优化 ARM 虚拟机))

[步骤 3: 绑定 Docker CLI 到 Colima](#步骤 3: 绑定 Docker CLI 到 Colima)

[步骤 4: 验证 Docker 运行](#步骤 4: 验证 Docker 运行)

方案对比与注意事项

常见陷阱

卸载残留配置(可选)


推荐方案:Colima + Docker CLI(原生 ARM 支持)

步骤 1: 安装必需工具
复制代码
# 安装 Homebrew(若尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 Colima 和 Docker CLI(原生支持 Apple Silicon)
brew install colima docker docker-compose
步骤 2: 启动 Colima (优化 ARM 虚拟机)
复制代码
# 为 Apple Silicon 启动轻量级 ARM 虚拟机(默认使用 containerd 运行时)
colima start --arch aarch64 --runtime containerd \
  --cpu 4 --memory 8 --disk 20 # 根据需求调整 CPU/内存/磁盘
  • --arch aarch64: 明确指定 ARM 架构,适配 Apple Silicon。
  • -runtime containerd: 使用更轻量的 containerd(或手动替换为 docker 运行时)。
步骤 3: 绑定 Docker CLI 到 Colima
复制代码
docker context use colima
步骤 4: 验证 Docker 运行
复制代码
# 运行 ARM 架构的测试容器(自动拉取适配镜像)
docker run --rm --platform linux/arm64 hello-world
  • --platform linux/arm64: 强制使用 ARM 架构容器(避免 x86 镜像兼容问题)。

后续每次启动docker之前,需要先启动Colima

启动Colima命令

Colima start

停止Colima命令

stop Colima


方案对比与注意事项

工具 优势 M1/M2 注意事项
Colima ✅ 原生支持 Apple Silicon<br/>✅ 自动配置 DNS 和挂载路径 如遇镜像兼容问题,运行命令添加 --platform linux/arm64 指定架构
Minikube ❌ 复杂且主要用于 Kubernetes 需通过 minikube start --driver=docker --container-runtime=containerd 手动适配
常见陷阱
  1. 镜像架构不匹配问题

    默认镜像可能为 x86_64,需显式选择 linux/arm64 架构:

    复制代码
    docker pull --platform linux/arm64 nginx:alpine
    # 或直接运行时指定
    docker run --platform linux/arm64 nginx:alpine
  2. 挂载目录权限修复

    若遇到文件挂载权限问题,通过 colima 调整挂载的 UID/GID:

    复制代码
    colima stop
    colima start --mount-type=9p --mount-ownership [$UID]:$(id -g)

卸载残留配置(可选)
复制代码
colima delete -f        # 删除 Colima 虚拟机
docker context rm colima # 删除 Docker 上下文
brew uninstall colima   # 卸载 Colima
相关推荐
Alsn862 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875242 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj2 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵2 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏2 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主2 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang2 天前
Docker 使用完整指南
运维·docker·容器
正经教主2 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
CodeStats2 天前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker
ai产品老杨2 天前
突破安防碎片化:基于 Docker 与边缘计算的 AI 视频智能化中台,如何通过 GB28181/RTSP 统一接入与全套源码交付实现二次开发自由?
人工智能·docker·边缘计算