mac 上 Docker Desktop的免费开源的替代工具Colima
当谈到在macOS上运行容器时,Docker长期以来一直是首选。但是,必须解决使用实用于macOS的Docker Desktop时出现的一些限定,特别是对于大中型公司,最大的问题是需要购买许可证。别的,macOS 版Docker Desktop的性能问题也是让广大用户诟病。本文,我们先容一个Docker Desktop的免费开源的替代工具Colima。 在macOS上体验容器管理的新期间,没有许可障碍,并针对各种Mac装备上的卓越性能举行了优化。概述
Colima是一个免费的开源容器运行时,它使用QEMU在虚拟机中运行Docker容器。它是由Lima Project创建的,Lima项目是一群致力于创建工具以方便在 macOS上运行容器化应用程序的开发人员。
https://i-blog.csdnimg.cn/blog_migrate/5cb0f7a17d912079368909902e4dd893.jpeg
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架构支持。
架构
https://i-blog.csdnimg.cn/blog_migrate/8126b590b34ac66ef76077dbac5f5428.jpeg
Colima由以下组件组成:
Colima :主要的Colima组件负责启动和管理QEMU虚拟机。
Lima:Lima是一个答应您从命令行管理 QEMU 虚拟机的工具。
Docker:Colima使用Docker来运行容器化应用程序。
Kubernetes:Colima 支持Kubernetes,因此可以使用它来运行由Kubernetes管理的容器化应用程序。
安装和使用
https://i-blog.csdnimg.cn/blog_migrate/22b859ce4b8fe2ab6866d431454453dd.jpeg
要使用Colima,首先需要安装它。可以通过Homebrew、MacPorts和Nix等软件包管理器安装。
# Homebrew
brew install colima
# MacPorts
sudo port install colima
# Nix
nix-env -iA nixpkgs.colima
安装好Colima后,执行
colima version
https://i-blog.csdnimg.cn/blog_migrate/05c3809ec01c7bf66cc81b043f1222ec.jpeg
在启动colima之前,先检查docker是否正在运行。
docker ps
https://i-blog.csdnimg.cn/blog_migrate/0d2fd37e313009fe67fc0f288e8a30be.jpeg
从上面来看Docker并没有在背景运行。为了安全起见关闭ddev:
ddev poweroff
启动Colima,可通过运行以下命令来启动它:
colima start
https://i-blog.csdnimg.cn/blog_migrate/3bdf72fe8499acf46deed6198fcb3403.jpeg
这将启动一个QEMU虚拟机并在其中运行Docker容器。 然后,可以使用正常Docker命令行工具来管理容器。
docker ps
https://i-blog.csdnimg.cn/blog_migrate/4729a391165cced32dddb58dbb680648.jpeg
运行时
初次启动时,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
https://i-blog.csdnimg.cn/blog_migrate/9286fb077e2e8d626f04f5576fcddfd2.jpeg
列出全部正在运行的上下文
colima list
https://i-blog.csdnimg.cn/blog_migrate/7a2f07302b7035ce35dd7f397bfc58c0.jpeg
删除上下文
colima delete
https://i-blog.csdnimg.cn/blog_migrate/e94677021ea0856aef56a6515241b1e2.jpeg
和Kubernetes交互
对于Docker运行时,Kubernetes 可以访问使用Docker构建或拉取的映像。
对于 Containerd运行时,可以访问定名空间k8s.io
Minikube + Colima
我们可以将minikube的驱动程序设置为使用docker,而docker通过使用colima 来设置容器。
minikube start --driver=docker
https://i-blog.csdnimg.cn/blog_migrate/f3ac775f0ab44c415696f978e096505d.jpeg
可以检查节点
kubectl get nodes
https://i-blog.csdnimg.cn/blog_migrate/3cc2960209202785bfb337208b2d3c75.jpeg
检查一下运行集群的容器
docker ps
https://i-blog.csdnimg.cn/blog_migrate/d57346316ac13505f008ce4eb63a8c69.jpeg
这是运行集群的容器。
总结
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博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]