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

news2024/11/16 3:56:50

当谈到在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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1892366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言实现钉钉机器人接入Dify工作流

go语言实现实现钉钉机器人接入dify工作流,完成ai 流式问答 代码地址 有用的话点个star github地址 效果 配置使用 修改.env_template文件 为.env 设置.env文件内的环境变量 API_KEY: dify的api_keyAPI_URL: dify 的api接口CLIENT_ID : 钉钉机器人应用的idCLIENT…

护眼指南之适合学生写作业的台灯:看看学生护眼台灯哪个品牌好

随着人们健康意识的提高,越来越多的人开始关注眼睛的健康问题,照明技术的进步也为缓解眼疲劳提供了可能,现在的照明产品可以通过调整光线亮度、色温、频闪等参数,使光线更加柔和、均匀,减少眼睛的不适感。人们都希望通…

孕产妇健康管理信息平台,多家医院产科广泛运用,系统稳定,功能齐全 产科管理系统源码,三甲医院产科电子病历系统成品源代码

孕产妇健康管理信息平台,多家医院产科广泛运用,系统稳定,功能齐全 产科管理系统源码,三甲医院产科电子病历系统成品源代码 女性生育过程会面临许多的困难和问题,需要经常性地前往医院做详细的身心检查,在…

【python】Data Augmentation

参考学习来自:使用PythonOpenCV进行数据增广方法综述(附代码演练) 文章目录 Random CutCutoutColor JitterAdd Noisy Random Cut 随机裁剪图片中的长款缩放为 scale 倍的区域,resize 到原图大小,bounding box 的坐标也…

6域名系统DNS

《计算机网络》第7版,谢希仁 每次记不清楚的知识点,通过上网查找,总是只能看到很零碎的答案。最后还是最喜欢看这个版本的书,一看就回忆起来了,逻辑严谨,循循善诱,知识讲解的全面又清晰&#xf…

Elasticsearch:结合稀疏、密集和地理字段

作者:来自 Elastic Madhusudhan Konda 如何以自定义方式组合多个稀疏、密集和地理字段 Elasticsearch 是一款强大的工具,可用于近乎实时地搜索和分析数据。作为开发人员,我们经常会遇到包含各种不同字段的数据集。有些字段是必填字段&#x…

Cartoon UI(游戏卡通UI图标界面按钮框架)

卡通UI是一套完整的艺术UI组件,图标,按钮,将非常适合你的游戏项目。 所有组件都是高质量的,在专业水平上实现,并具有透明的背景,因此您可以将其放置在任何需要的表面上。 卡通UI包括: -按钮&…

VIO(Virtual_Input_Output) IP 使用笔记

VIO(Virtual Input/Output)IP 核,即虚拟输入输出 IP,可以通过调试界面模拟 IO 的变化,这可以在板子没有按键等外设、或外设不足的情况下,来模拟外部输入。然而网上关于 VIO 的教程都说的不是很清楚&#xf…

如何学习大型语言模型中的量化

前言 图片来自作者:Flow 展示了量化的必要性。(笑脸和生气脸图片来自Yan Krukau) 在我解释上面的图表之前,让我先介绍一下您将在本文中学习的重点内容。 首先,您将了解量化是什么以及为什么量化。接下来,您将深入了解…

sssssssssssssssshare_ptrrrrrrrrrrrrrrrrrrrrrrrrr

智能指针——shared_ptr的原理及仿写 shared_ptr的原理及仿写 共享指针允许多个指针指向同一份数据,因为它使用了引用计数,每多一个指针指向这个数据,引用技术加一,每销毁一个指针,引用技术减一,如果引用计…

【 2024!深入了解 大语言模型(LLM)微调方法(总结)】

引言 众所周知,大语言模型(LLM)正在飞速发展,各行业都有了自己的大模型。其中,大模型微调技术在此过程中起到了非常关键的作用,它提升了模型的生成效率和适应性,使其能够在多样化的应用场景中发挥更大的价值。 那么&…

助力企业数字化转型:无锡哲讯——您的专业SAP系统运维服务商

数字化时代,企业对SAP系统的依赖程度日益加深,而SAP系统的稳定运行对于企业的核心业务至关重要。 无锡哲讯作为专业的SAP运维服务商,致力于为客户提供全面的SAP运维解决方案,助力企业实现数字化转型,提升核心竞争力。 …

再次登榜,深兰科技荣膺全球独角兽企业500强

6月27~28日,《2024全球独角兽企业500强》榜单发布,深兰科技凭借在AI产业赋能和产品出海方面的出色表现,继2023年之后再次登榜。 《2024全球独角兽企业500强》评委会介绍,本届榜单的产生,是由“全球独角兽企…

logback log.info耗时异常,RollingFileAppender+TimeBasedRollingPolicy配置踩坑

我喜欢把核心内容放开头 此次log.info耗时异常升高,是由于日志量过大(5G甚至以上),并且使用同步阻塞的RollingFileAppenderTimeBasedRollingPolicy,导致log.info一直等待日志文件滚动,造成了异常。解决方式…

ETCD概述--使用/特性/架构/原理

ETCD概述 ETCD是一个高度一致的分布式键值存储, 它提供了一种可靠的方式来存储需要由分布式系统或机器集群访问的数据(高可用, 强一致性)​全局的配置服务中心. 本文将介绍其特性、相关操作和常见的应用场景. 如果想了解更多, 请查阅我的技术博客: https://dingyuqi.com 特性 …

专访ATFX首席战略官Drew Niv:以科技创新引领企业高速发展

在金融科技创新的浪潮中,人才是推动企业高速发展的核心驱动力,优质服务是引领企业急速前行的灯塔。作为差价合约领域的知名品牌,ATFX高度重视人才引进工作,秉持“聚天下英才而用之”的理念,在全球范围内广揽科技精英&a…

某业帮六月校招后端笔试

题目一 解题思路 签到题,dp就行。 题目二 解题思路 这个比较烦人,需要处理额外的引号和括号。用DFS,对于每个间隙,插入与不插入都搜一遍。 题目三 解题思路: 双指针,左右各一个指针,对比长度&…

变频器配置V20

变频器控制最好是变频电机,在速度不低的情况下工频电机 改变电机转速,调节扭矩, 变频器 L1 L2 L3 ,R S T 电机输入 uvw 电机输出 FSD 制动电阻 设置步骤 恢复出厂设置 p0010:30 p0970:21p0003:3(设定访问级别) P0003 用户访问级别 0 - 4 1…

沟通方法和技巧

0 Preface/Foreword 1 沟通对象 沟通维度: upward,向上沟通,直接上级downward,向下沟通,直接下级horizontal,横向沟通,同部门/跨部门同事 2 沟通方式(5W2H) 对于开会和…

css样式flex布局之,盒子垂直居中

<div class"item"><img src"../../assets/images!code_app.png" alt"" /><div>5555</div><p>微信扫一扫关注</p><p>“快速预约挂号”</p></div>.item{display: flex;flex-direction: col…