containerd/nerdctl - 一个开源、免费的Docker的替代品
2021年8月31日,Docker公司更改了收费策略,简而言之就是对个人和小公司不收费,对大公司收费。
那么,是时候开始试一下 containerd + lima这个开源、免费的Docker替代品。
什么是containerd?
containerd是一个标准化的容器运行时,可以被其他系统很方便的集成。正是由于这个原因,containerd也成为了Kubernetes的默认容器运行时。
但是在containerd的目标聚焦在和其他系统集成,所以它的默认命令行工具(crictl)也不是很好用,和docker也不兼容。
后来,nttlabs贡献了一个名为nerdctl
的containerd客户端,可以兼容docker命令行工具。于是我们就可以使用nerdctl来作为docker的替代品了。
nerdctl不仅与docker兼容,而且还支持了更多的功能:
- 支持containerd的命名空间查看,nerdctl不仅可以管理Docker容器,也可以直接管理本地的的Kubernetes pod
- 支持将Docker Image Manifest镜像转换为OCI镜像、estargz镜像
- 支持OCIcrypt(镜像加密)
什么是lima?
containerd要在macOS上使用,需要安装虚拟机、然后在虚拟机配置containerd,这个过程很浪费时间。