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

macOS上优雅运行Docker容器

colima

什么是colima

colima主页

Colima(Container on Lima)是一个轻量级的容器运行时管理工具,专为macOS(同时也支持Linux)设计,提供了一种简单优雅的方式来运行容器。它基于Lima项目,后者为
macOS提供了类似WSL2的Linux虚拟机环境,具备自动文件共享和端口转发等特性。

Colima的主要特点包括:

  • 支持多种芯片架构 - 完美支持搭载Intel和Apple Silicon芯片的Mac设备,以及Linux系统
  • 简单的命令行界面 - 提供直观的CLI操作方式,并采用合理的默认配置
  • 自动端口转发 - 智能处理容器端口映射,简化网络配置
  • 卷挂载支持 - 支持在容器和主机之间共享文件系统
  • 多实例管理 - 可以同时运行多个独立的Colima实例
  • 灵活的运行时选择 - 支持多种容器运行时:
    • Docker(可选择性集成Kubernetes)
    • Containerd(可选择性集成Kubernetes)
    • Incus(支持容器和虚拟机)

如何使用colima

  • 安装
  1. 安装colima
brew install colima
  1. 安装docker-cli
brew install docker

这里我们选择安装最基础的命令行版本,而不是图形化的Docker Desktop

  1. 安装Docker Compose以支持容器编排功能
brew install docker-compose
  1. 启动Colima
colima start   ## 默认配置启动colima start --kubernetes       ## Kubernetes启动colima start --cpu 1 --memory 2 --disk 10   ## 指定配置启动colima start --help ## 查看启动配置

默认配置被保存在~/.colima/_templates/default.yaml

# CPU设置
cpu: 8
# 内存设置(以GiB为单位)
memory: 10
# 磁盘大小(以GiB为单位)
disk: 120
# 运行时选择:docker, containerd, incus
runtime: docker
# 是否启用Kubernetes
kubernetes:enabled: false
# 虚拟机的卷挂载驱动
# virtiofs 仅限于 macOS 和 vmType vz。它是选项中最快的。
mountType: virtiofs
# 为虚拟机指定自定义磁盘镜像。
# 当未指定时,会从https://github.com/abiosoft/colima-core/releases下载适当的磁盘镜像
# 可以指定自定义磁盘镜像的文件路径来覆盖此行为。
diskImage: "/<thepath>/ubuntu-24.04-minimal-cloudimg-arm64-docker.qcow2"
# 虚拟机类型, vz 是 macOS 虚拟化框架,需要macOS 13及以上版本
vmType: vz# 使用Rosetta进行amd64模拟(需要Mac M1以上和vmType vz)
rosetta: true
# 为虚拟机启用嵌套虚拟化(需要Mac M3以上和vmType vz)
nestedVirtualization: false# docker daemon的配置,即`daemon.json`
# 例如,配置`registry-mirrors`
docker:registry-mirrors: - https://mirror.xxx.com
  1. 重启/停止
colima restartcolima stop

一旦虚拟机成功启动,Docker命令行工具就会自动连接到Colima提供的Docker守护进程,此时我们就可以在Mac上正常使用所有Docker命令了。

http://www.rkmt.cn/news/15025.html

相关文章:

  • 使用IOT-Tree Server依据MC协议连接三菱Q系列PLC
  • 网络流 最小割 Dinic算法
  • 15.VLANIF(2025年9月30日) - 教程
  • Pdfminer-Vulnerability-Research
  • 10.2笔记
  • Spring Boot 内置日志框架 Logback - 以及 lombok 介绍 - 教程
  • CF VP 记录
  • 原来你是这样的claude code aciton:没想象中好
  • FlareOn1 -- 5get_it
  • python语言手势控制音乐播放器代码QZQ
  • 2025 编码器厂家 TOP 企业品牌推荐排行榜,无磁,光学,脉冲,绝对型,伺服,机械多圈,工业,二进制,拉线编码器公司推荐
  • Spark专题-第三部分:性能监控与实战优化(1)-认识spark ui - 指南
  • 2025 年等离子清洗机厂家 TOP 企业品牌推荐排行榜,大气,真空,宽幅,微波,自动化,常压,低温,大腔体,射频,DBD,介质阻挡放电等离子清洗机公司推荐!
  • 完整教程:如何优雅的布局,height: 100% 的使用和 flex-grow: 1 的 min-height 陷阱
  • 2025担保合同律师事务所推荐,专业团队高效解决法律难题!
  • 2025年筒袋磁力泵实力厂家推荐榜:高效耐用与创新技术深度解
  • Android项目实现自动获取手机号一键登录功能
  • Qt编程: 正则表达式分析 - 实践
  • Manim实现渐变填充特效
  • Spring Boot 集成 Redis 全方位详解 - 指南
  • 十月牛气冲天计数题没做
  • datadome 隐私模式 ck设置
  • CPU温度查看(Core Temp)
  • 深入解析:python学智能算法(三十九)|使用PyTorch模块的normal()函数绘制正态分布函数图
  • 2025污水处理设备厂家 TOP 企业品牌推荐排行榜,一体化,生活,工业,养殖,医疗,农村,学校,餐厨,隧洞,高速污水处理设备公司推荐!
  • 详细介绍:告别“下次注意”,用这套结构化事故复盘方案就对了
  • 关于树状数组的一些东西
  • [问题记录] vmagent 增加 aggregation 表达式后,CPU 上升 2.43 倍, 内存上升 3.82 倍
  • CF1081F Tricky Interactor
  • JAVA SE 基础语法 —— A / 初识 - 指南