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
sh 复制代码
brew install colima
  1. 安装docker-cli
sh 复制代码
brew install docker

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

  1. 安装Docker Compose以支持容器编排功能
sh 复制代码
brew install docker-compose
  1. 启动Colima
sh 复制代码
colima start   ## 默认配置启动

colima start --kubernetes       ## Kubernetes启动

colima start --cpu 1 --memory 2 --disk 10   ## 指定配置启动

colima start --help ## 查看启动配置

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

sh 复制代码
# 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. 重启/停止
sh 复制代码
colima restart

colima stop

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

相关推荐
Johny_Zhao1 个月前
达梦数据库高可用集群部署方案
linux·mysql·网络安全·docker·信息安全·kubernetes·云计算·shell·containerd·达梦数据库·yum源·系统运维·centos8
Johny_Zhao1 个月前
Conda、Anaconda、Miniconda对比分析
linux·网络安全·信息安全·kubernetes·云计算·conda·shell·containerd·anaconda·yum源·系统运维·miniconda
Johny_Zhao1 个月前
Linux防止rm误操作防护方案
linux·网络·人工智能·网络安全·信息安全·云计算·yum源·系统运维
Johny_Zhao1 个月前
基于 Docker 的 LLaMA-Factory 全流程部署指南
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·yum源·系统运维·llama-factory
Johny_Zhao2 个月前
Rsync + Sersync 实时数据同步方案
linux·网络安全·信息安全·云计算·rsync·系统运维·sersync
Johny_Zhao2 个月前
SeaTunnel的搭建部署以及测试
linux·网络·网络安全·信息安全·kubernetes·云计算·containerd·devops·seatunnel·系统运维
Johny_Zhao2 个月前
阿里云平台健康检查巡检清单-运维篇
linux·网络安全·阿里云·信息安全·云计算·shell·系统运维
Johny_Zhao2 个月前
centos8安装部署spug自动化运维管理平台
linux·信息安全·云计算·shell·yum源·系统运维·centos8·spug
Johny_Zhao2 个月前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维