当前位置: 首页 > 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.hskmm.com/?act=detail&tid=23191

相关文章:

  • 题解:CF1770H Koxia, Mahiru and Winter Festival
  • HarmonyOS之LocalStorage - 详解
  • Spring Boot Logback:实现定时任务日志与业务日志隔离 - Higurashi
  • 网络流 最小割 Dinic算法
  • 15.VLANIF(2025年9月30日) - 教程
  • 树莓派搭建NAS之一:安装系统
  • 新手Markdown学习
  • 马云归来,“新零售”不死 - 指南
  • RNN
  • 10.2笔记
  • Shell / Bash 学习
  • 【Linux 架构探幽:从入门到内核・系统编程开篇】基础指令与权限精讲,筑牢框架制作根基
  • 使用 Dart 进行验证码识别
  • 用 Rust 进行验证码识别
  • teset3
  • Java并发编程(5)
  • 定时任务详解
  • 华为wlan无线配置 - 教程
  • PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
  • 可持久化数据结构
  • 2025.10.2——1黄
  • 图的匹配
  • Tarjan 算法
  • Mondriaans Dream题解
  • 网络流 最大流 Dinic 算法
  • 2025.10.2 测试
  • 数学章节总结
  • 软件工程_作业一
  • CF VP 记录
  • LabVIEW与PLC 汽车驻车制动自动调整 - 实践