前言

Mac上使用Docker的几种方案:

VM
通过Parallels Desktop、VMware之类的虚拟机,在其中安装Docker。

Docker Desktop
官方出品,带有GUI进行管理。
资源占用比较大,UI卡顿,有时还会卡死。

Colima
Colima是专门为了解决Mac平台容器化工具链儿创建的项目,底层基于Lima。

Lima
Lima目前是基于QEMU的自动化VM方案,由于其出色设计,借助Cloud Init可以在多阶段帮助我们完成hook。不仅可以帮我们完成Docker虚拟机创建,可以创建任何我们想要的东西,可定制化程度比较高。

目前来讲,Colima是最优的选择,借助Lima,自动帮我们创建虚拟机,配置目录映射。相对来说使用比较简单。

次优解是Lima,需要自行编写描述文件,创建虚拟机,通过Cloud Init完成Docker安装。相对来说比较硬核一些,如果只是为了使用Docker,没比付出如此高的学习成本。

Colima

Colima旨在以最小化设置来在macOS上配置容器运行时环境,支持M1。

Colima的名字取自Container on Lima。Colima实际上是通过Lima启动了名为colima的虚拟机,使用虚拟机中的containerd作为容器运行时。

Colima安装

macOS安装非常简单,使用brew即可。同时docker-cli也一并安装。

brew install colima docker docker-compose

Colima启动

首次启动Colima,需要下载虚拟机所需要的镜像,所需时间比较长。

colima start

INFO[0000] starting colima                              
INFO[0000] runtime: docker                              
INFO[0001] starting ...                                  context=vm
INFO[0025] provisioning ...                              context=docker
INFO[0027] starting ...                                  context=docker
INFO[0030] done 

此时已经可以正常使用docker命令了。

Colima功能

查看Lima虚拟机的状态。Colima默认创建的虚拟机2核CPU,2GiB内存,60Gib存储空间。

➜  ~ colima list
PROFILE    STATUS     ARCH      CPUS    MEMORY    DISK     RUNTIME    ADDRESS
default    Running    x86_64    2       2GiB      60GiB    docker 

停止Colima。

colima stop

通过brew控制Colima服务。

brew services start colima
brew services stop colima

通过启动参数修改虚拟机资源。

colima start --cpu 4 --memory 8 --disk 100

修改容器运行时,同时创建一个k3s运行时。

colima start --runtime containerd --kubernetes

修改虚拟机架构,如果架构和本机不一致,会使用QEMU仿真,有很大的性能损失。

colima start --arch aarch64

更多的参数通过colima --help查看,就不一一罗列了。

参考文章:

【1】如何在 Mac 上愉快的使用 Docker
【2】Colima:MacOS 上的极简容器运行时

最后修改:2024 年 10 月 21 日
如果觉得我的文章对你有用,请随意赞赏