当前位置: 首页 > 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.jsqmd.com/news/7402/

相关文章:

  • 使用IOT-Tree Server依据MC协议连接三菱Q系列PLC
  • 【Linux】【硬件向】从“找文件”到“懂磁盘”:一文搞懂文件、磁盘与文件系统 - 指南
  • 题解:CF1770H Koxia, Mahiru and Winter Festival
  • HarmonyOS之LocalStorage - 详解
  • 南华 NHXJ-02 汽车悬架检验台:实用的技术特性与实操应用指南
  • Spring Boot Logback:实现定时任务日志与业务日志隔离 - Higurashi
  • 网络流 最小割 Dinic算法
  • 15.VLANIF(2025年9月30日) - 教程
  • 国庆集训DAY2
  • 详细介绍:电子电气架构 --- 中国汽车座舱产品与技术发展趋势展望
  • 新手Markdown学习
  • 马云归来,“新零售”不死 - 指南
  • SQL正则表达式总结 - 实践
  • Pdfminer-Vulnerability-Research
  • 10.2笔记
  • Shell / Bash 学习
  • 【Linux 架构探幽:从入门到内核・系统编程开篇】基础指令与权限精讲,筑牢框架制作根基
  • chisel,spatial和spinalhdl的比较
  • 国庆集训Day1
  • ChIPBase network菜单 生成tf的excel ,用于构建 TF → mRNA(即 CDKN3)调控关系的详细过程和教程 - 实践
  • 实用指南:机器学习:线性回归
  • 定时任务详解
  • Linux系统中配置SSH安全和Docker安装
  • Markdown语法入门三:链接,图片,分隔线与引用
  • 华为wlan无线配置 - 教程
  • 开源 C# 飞快研发(十三)进程--管道通讯
  • Spring Boot 内置日志框架 Logback - 以及 lombok 介绍 - 教程
  • PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
  • 图的匹配
  • Tarjan 算法