当前位置: 首页 > article >正文

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

目录

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

步骤 1: 安装必需工具

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

步骤 3: 绑定 Docker CLI 到 Colima

步骤 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

http://www.kler.cn/a/542084.html

相关文章:

  • VMware Workstation创建虚拟机
  • 13.推荐系统的性能优化
  • CSS3+动画
  • Docker搭建redis集群
  • Vue全流程--Vue3.0与Vue2.0响应式原理对比
  • 软件模拟I2C案例(寄存器实现)
  • Vue 3 嵌套请求与数据重组:挑战与应对
  • ArcGIS Pro SDK (二十七)自定义许可
  • Go语言的内存分配原理
  • 泛型 什么是泛型 泛型的继承和通配符 二叉树
  • hbase快照同步到目标集群出现ERROR Multiple regions have the same startkey问题分析
  • OpenHarmony应用开发学习路线与资源指南
  • 请解释 JavaScript 中的函数式编程,优缺点是什么?
  • 三步本地部署deepseekr1,支持macOs,ubuntu,Windows
  • 基于STM32单片机智能教室管理系统设计与实现
  • 怎么在win10系统批量生成下面目录示例文件?
  • Softhsm储存安全数据性能整理
  • SQLMesh系列教程-2:SQLMesh入门项目实战(下篇)
  • TCP基础知识
  • 【网络安全】服务器安装Docker及拉取镜像教程
  • 【AI时代】Page Assist - 本地 AI 模型的 Web UI (谷歌浏览器) 本地DeepSeek启用联网功能
  • JavaScript 入门指南:从零开始学前端开发
  • linux基于 openEuler 构建 LVS-DR 群集--一、用命令行完成 二、使用脚本完成
  • Batch Normalization (BN) 和 Synchronized Batch Normalization (SyncBN) 的区别
  • DeepSeek-V3与DeepSeek-R1的对比
  • 现代前端开发的演进与未来趋势:从工具革新到技术突破