补充说明
colima(Container Linux Machine)是一个开源命令行工具,用于在 macOS 和 Linux 上运行容器,提供 Docker 和 containerd 两种运行时。它内部借助 Lima 虚拟机技术,在 macOS 上通过 QEMU 或 vz(Apple Virtualization.framework)启动一个小型 Linux 虚拟机,再在其中运行容器守护进程,效果接近 Docker Desktop,但更轻、开销更小。
colima 与 Docker Desktop 的关键区别:colima 是 CLI-only,无图形界面;默认不包含 Docker Desktop 专有功能(如自带 Kubernetes 仪表盘、扩展市场)。它常被本地开发人员用作 Docker Desktop 的免费开源替代品,也适合无法安装 Docker Desktop 的场景。colima 自带 docker context 集成:启动后创建一个名为 colima 的 Docker context,将其设为当前 context 后,现有 docker 命令无需改动即可直接使用。
在 Linux 上 colima 也可直接使用(通过 rootless 或直接运行),但多数发行版本就有原生 Docker,一般仅在需要统一开发/生产体验时才用。运行容器需先 colima start 启动虚拟机;colima stop 停止但不删除数据,colima delete 彻底销毁。
语法
colima [子命令] [选项]
colima <start|stop|restart|status|delete|ssh|start-with-docker>
选项
colima start --cpu 2 --memory 4 --disk 20 # 指定 CPU/内存/磁盘大小后启动
colima start --runtime containerd # 使用 containerd 运行时
colima start --network-address # 将虚拟机地址暴露给宿主机
colima status # 查看运行状态
colima ssh # SSH 进入 colima 虚拟机
colima delete # 删除虚拟机及数据(-f 不询问)
实例
# 启动默认(docker 运行时)虚拟机
colima start
# 指定资源并启动
colima start --cpu 2 --memory 4 --disk 20
# 切换到 colima 提供的 docker context
docker context use colima
docker ps # 直接使用 docker 命令
# 停止、查看状态
colima stop
colima status
日常使用示例:
colima start
docker run --rm -p 8080:80 nginx # 启动 nginx 容器
colima stop # 停止虚拟机