mac 上 Docker Desktop的免费开源的替代工具Colima

当谈到在macOS上运行容器时,Docker长期以来一直是首选。但是,必须解决使用适用于macOS的Docker Desktop时出现的一些限制,特别是对于大中型公司,最大的问题是需要购买许可证。另外,macOS 版Docker Desktop的性能问题也是让广大用户诟病。本文,我们介绍一个Docker Desktop的免费开源的替代工具Colima。 在macOS上体验容器管理的新时代,没有许可障碍,并针对各种Mac设备上的卓越性能进行了优化。

概述

Colima是一个免费的开源容器运行时,它使用QEMU在虚拟机中运行Docker容器。它是由Lima Project创建的,Lima项目是一群致力于创建工具以方便在 macOS上运行容器化应用程序的开发人员。

Lima项目由一群MacBook开发人员用户于2019年启动,出于对macOS缺乏良好的容器运行时和工具的不满而DIY。当时,在 macOS 上运行Docker容器的唯一选择是适用于macOS的Docker Desktop,它需要大中型公司的许可证。Lima项目着手为macOS创建 Docker Desktop的免费开源替代方案,以提供更好的性能和更多功能。

Colima的第一个版本于2020年发布。一经推出,Colima 很快受到广大macOSer苦恼于Docker Desktop的用户所欢迎。

Colima仍在开发中,最新版本为v0.55。Colima已经成为在macOS上运行容器化应用程序的流行选择。它是一个功能强大且多功能的容器运行时,与其他选项相比具有许多优势,例如更好的性能和对Kubernetes的支持。

优势

免费和开源:一个免费和开源项目,这意味着它可以免费使用和修改。

高性能:C使用QEMU在虚拟机中运行Docker容器,可以提供比其他容器运行时更好的性能。

支持多容器运行时:支持Docker和Containerd作为运行时。

支持Kubernetes: Colima支持Kubernetes,这是管理容器化应用程序的强大工具。

易于使用:简单的CLI界面,易于安装和使用。

兼容所有版本macOS: Colima与所有版本的macOS兼容。M1 Mac架构支持。

架构

Colima由以下组件组成:

Colima :主要的Colima组件负责启动和管理QEMU虚拟机。

Lima:Lima是一个允许您从命令行管理 QEMU 虚拟机的工具。

Docker:Colima使用Docker来运行容器化应用程序。

Kubernetes:Colima 支持Kubernetes,因此可以使用它来运行由Kubernetes管理的容器化应用程序。

安装和使用

要使用Colima,首先需要安装它。可以通过Homebrew、MacPorts和Nix等软件包管理器安装。

# Homebrew

brew install colima

# MacPorts

sudo port install colima

# Nix

nix-env -iA nixpkgs.colima

安装好Colima后,执行

colima version

在启动colima之前,先检查docker是否正在运行。

docker ps

从上面来看Docker并没有在后台运行。为了安全起见关闭ddev:

ddev poweroff

启动Colima,可通过运行以下命令来启动它:

colima start

这将启动一个QEMU虚拟机并在其中运行Docker容器。 然后,可以使用正常Docker命令行工具来管理容器。

docker ps

运行时

初次启动时,Colima使用用户指定的运行时(默认为 Docker)启动。

Docker运行时需要Docker客户端。可以用brew安装

brew install docker

colima start后,就无需额外设置使用docker客户端。

如果使用Containerd运行时,可以通过

colima start --runtime containerd

启动并设置Containerd。

可以使用colima nerdctl与Containerd 交互。

建议运行colima nerdctl install安装 nerdctl $PATH中的别名脚本。

检查colima的状态

colima status

列出所有正在运行的上下文

colima list

删除上下文

colima delete

和Kubernetes交互

对于Docker运行时,Kubernetes 可以访问使用Docker构建或拉取的映像。

对于 Containerd运行时,可以访问命名空间k8s.io

Minikube + Colima

我们可以将minikube的驱动程序设置为使用docker,而docker通过使用colima 来设置容器。

minikube start --driver=docker

可以检查节点

kubectl get nodes

检查一下运行集群的容器

docker ps

这是运行集群的容器。

总结

Colima是Docker的一个有前途的替代品,提供更快的性能、创建Kubernetes集群的能力以及对开发环境的更好控制。对于Mac用户正在为Docker desktop授权和效率发愁的用户,可以尝试一下Colima。

参考:

Mac:运行docker遇到Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker ..._mac cannot connect to the docker daemon-CSDN博客

### 使用 DockerColima 容器引擎 Colima 是一种用于 macOS 和 Linux 的轻量级容器运行时环境,它通过利用 Lima 提供的虚拟化技术来创建一个支持多种容器平台(包括 Docker)的安全沙盒环境[^1]。 #### 配置并启动 Colima 为了使 Docker 能够在 Colima 中正常工作,需先安装 Colima 并配置其作为默认的 Docker 主机: ```bash brew install colima colima start --runtime docker ``` 上述命令会自动下载所需的资源文件,并设置好环境变量以便于后续操作。如果之前已经存在其他形式的 Docker 运行实例,则可能需要停止它们以防止端口冲突等问题发生。 #### 设置国内镜像加速源 针对提到的由于更改镜像源而导致的服务无法启动问题,在 Colima 上可以通过编辑 `~/.lima/_config/colima.yaml` 文件中的 registry mirrors 来指定阿里云或其他服务商提供的中国区节点地址[^2]: ```yaml containerd: configPatches: - | [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."https://<your-mirror>.mirror.aliyuncs.com"] endpoint = ["https://<your-mirror>.mirror.aliyuncs.com"] ``` 完成以上修改后记得重启 Colima 让新的配置生效: ```bash colima stop && colima start ``` #### 测试 Docker 功能 最后可以执行简单的测试指令验证当前环境下 Docker 是否能够正常使用: ```bash docker run hello-world ``` 该命令将会拉取官方提供的示例镜像并展示一条欢迎消息,证明整个流程搭建成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积跬步DEV

如有帮助,那多谢赞助!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值