Dcoker Desktop 前段时间开始对企业用户收费了,由于我都是使用自己的 Mac 笔记本办公,这就导致我也不能在公司使用 Docker Desktop,因此我就开始寻求 Docker Desktop 的替代品。
说是替代品,但其实我也不怎么用 Docker Desktop 的 GUI,大部分情况下我在使用 VSCode 里的 Docker 插件。因此我的需求并非是 GUI,而仅仅是一个能跑容器的环境罢了。
经过一系列调研,我最终选择了 Colima。Colima 是一个开源的 Docker 容器运行时,旨在通过最小化设置运行容器和 Kubernetes。
💡 注意:我在本机跑 Docker 主要是为了承载一部分开发环境,使用场景比较简单,也没有 k8s 之类的需求。项目 README 也表明目前 Colima 仍处于早期开发阶段,请谨慎使用。
安装 & 启动
安装启动 Colima 非常简单,只需要以下几条命令:
brew install colima docker docker-compose colima start
自定义 VM 配置
Colima 默认分配 2 核 CPU,2G 内存和 60G 的存储空间。你也可以通过一系列 参数 进行自定义:
colima start --cpu 1 --memory 2 --disk 10
VSCode 中的 Docker 插件
VSCode 中的 Docker 插件同样支持 Colima(所以我愣是没想明白就这破玩意 Docker 怎么好意思向企业用户收费的)。
文件写入的权限问题
当我顺利地把 Colima 跑起来,以为万事大吉的时候,坑就来了。
我尝试启动一个 MySQL 容器,但一直失败,查看日志发现容器想要往宿主机的挂载目录写入文件时会报 chown: changing ownership of '/var/lib/mysql': Permission denied
的错误。
我查找了项目 Issues,确实有人讨论此问题:https://github.com/abiosoft/colima/issues/54,但并没有特别优雅且行之有效的解决方案。好在另一篇网友帖子 记mac下尝鲜colima的坎坷经历 (stanzhai.site) 提到了另一种方案:
colima start --mount-type 9p
试了一下果然可行,并且比起 #54 里的各种方案更加无感。