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

macOS上优雅运行Docker容器

什么是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

安装

安装colima

brew install colima

安装docker-cli

brew install docker

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

安装Docker Compose以支持容器编排功能

brew install docker-compose

启动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

重启/停止

colima restart

colima stop

在k8s使用colima

colima start --kubernetes

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

http://www.cnnetsun.cn/news/116531.html

相关文章:

  • XXL-JOB分布式任务调度
  • MYSQL与B+树与索引相关面试题
  • PostgreSQL pgvector扩展Windows环境完整安装指南
  • Steam游戏挂机神器:3分钟学会自动刷时长和交易卡
  • F5 Big-IP by SNMP.硬件负载均衡
  • 公有云省钱 + 稳业务秘诀!自动伸缩 1 节课上手,资源不浪费、高峰不卡顿~(4)
  • EmotiVoice WebSocket接口设计与调用示例
  • 基于51单片机的颜色识别报站系统设计
  • 3个关键策略解决Cocos事件响应混乱问题
  • DuckDB C++集成:如何在嵌入式项目中实现高性能数据分析?
  • 移动端集成EmotiVoice:Android/iOS兼容方案
  • Feishin音乐播放器完全手册:打造个性化自托管音乐云
  • Launcher3 启动器:打造纯净原生 Android 体验的完整指南
  • 同花顺问财数据获取:Python自动化工具的完整使用指南
  • 【完整指南】快速掌握ComfyUI-SeedVR2视频超分模块
  • 大模型重塑知识图谱构建全面解析LLMs驱动的知识工程新范式!
  • 云存储安全防线:OSS防御体系构建与实战策略
  • SUNNOD喷墨打印机防堵头测试色卡:专业维护解决方案
  • 通义千问3-VL-Plus - 界面交互(本地图片)
  • 使用C#代码更改 PowerPoint 幻灯片大小
  • 基于单片机的智能电动车设计
  • Shipit自动化部署终极指南:从零到精通完整教程
  • Freedom Chat | 这款美国通讯应用泄露了所有人的电话号码
  • JMeter 二次开发环境准备详解
  • OkHttp跨平台网络开发实战指南:从架构原理到性能优化
  • 2025有哪些免费降ai率工具?有哪些免费AI率查重工具?
  • 大模型应用开发-Langchain(V1-最新版)-上
  • 知网AI率降到3%,还免费降AI500字,这个降AI工具真好!
  • 终极性能释放:AMD APU隐藏的30%算力这样激活
  • FusionCompute 8.0完整资源获取指南:从零开始搭建虚拟化实验环境