Mac M1下使用Colima替代docker desktop搭建云原生环境

文章目录

Mac M1下使用Colima替代docker desktop搭建云原生环境分为几个过程
1.docker desktop卸载
2.docker、docker compose安装
3.colima安装
4.minikuke+kubernetes安装
注:以上应用的安装均使用homebrew,若下载过程较慢,建议 换源

为什么不使用docker desktop

docker运行需要依赖虚拟机,而docker desktop提供了这个虚拟机条件,但是mac上使用docker desktop有一些限制,特别是对于大中型公司,最大的问题是需要购买许可证。另外,macOS 版Docker Desktop的性能问题也是让广大用户诟病。所以我们只需要找到虚拟机的替代品就可以摆脱这些限制,像Hyperkit、VirtualBox这些并不适用于M1芯片的mac。经过一系列的调研后终于找到了比较完美的虚拟机替代品,也就是colima,colima 实际上是通过 Lima 启动了名为 colima 的虚拟机.

1.docker desktop卸载

mac上卸载软件不必赘述

2.docker、docker compose安装

复制代码
brew install docker
brew install docker-compose

3.colima安装

复制代码
brew install colima

重点来了,下载没什么问题,但是第一次使用colima start运行的时候问题就大了,他会先去下载虚拟机镜像,这个镜像需要魔法,不然速度感人,且不能断点继续下载。

我们可以将镜像在外面下载好放到Colima指定的读取路径后重新start即可。

3.1获取镜像地址

在第一次运行Colima的时候会在~/.lima/colima/lima.yaml下生成yaml文件,我们查看这个yaml文件可以获取镜像地址

将地址拷贝出来,使用魔法下载。

3.2将下载好的iso文件放到colima指定路径

将下载好的iso文件放到~/.lima/colima/basedisk(注意,这里的basedisk就是镜像文件,不是文件夹,lima启动的时候会自动检测镜像格式)

3.3重新执行colima start

注意了,直接使用Colima start启动会有mount目录写权限问题,所以要在启动的时候指定mount=9p

最终colima的启动命令为:

复制代码
colima start --cpu 2 --memory 2 --disk 10 --mount-type 9p

Colima启动成功后就可以使用docker了,使用colima status查看启动状态

并且这个时候使用docker ps也没有问题了。

4.minikuke+kubernetes安装

启动minikube需要kicbase支持,且这里要使用v0.0.32版本,先下载kicbase镜像

复制代码
docker pull kicbase/stable:v0.0.32

最后启动minikube

复制代码
minikube start --vm-driver=docker --base-image="kicbase/stable:v0.0.32" --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --kubernetes-version=v1.23.8

查看minikube状态,并打开k8s面板

复制代码
minikube status
minikube dashboard


5.关闭minikube

这里需要注意的是, 不能通过minikube stop关闭集群, 这样会丢失之前创建的环境, 取而代之的是minikube pause以及minikube unpause

关闭docker 和colima

复制代码
minikube pause
docker stop minikube
colima stop

这样的话, 我们在每次使用docker/minikube的时候, 就需要先开启colima, 这也被称为docker的守护进程(daemon), 然后再进入minikube, 启动节点.

之后启动minikube的顺序为

复制代码
colima start
docker run minikube
minikube start
minikube dashboard

参考文章

1.【云原生】M1 Mac配置docker kubernetes(k8s) colima完全指南(不使用docker desktop)

2.记mac下尝鲜colima的坎坷经历

相关推荐
掘根1 小时前
【微服务即时通讯项目】系统联调
微服务·云原生·架构
sunfdf2 小时前
移动硬盘上的文件消失了?以下是Mac电脑解决方法
macos·电脑
wwj888wwj2 小时前
Docker基础(复习)
java·linux·运维·docker
DONG9992 小时前
配置docker代理
docker·容器
怎么就重名了3 小时前
docker可以动态修改端口映射吗
运维·docker·容器
JEECG低代码平台4 小时前
敲敲云零代码平台一键部署实战:命令安装 vs Docker 安装
运维·docker·容器
p***76985 小时前
NAS飞牛Docker 部署OmniBox影视资源聚合平台:网盘秒播、影视聚合、自定义直播,超神的一条龙服务
运维·docker·容器
http阿拉丁神猫7 小时前
kubernetes知识点汇总31-36
云原生·容器·kubernetes
爱学习的程序媛7 小时前
Docker 完全指南:从入门到生产级实践
运维·docker·容器
分布式存储与RustFS8 小时前
Windows原生版RustFS:无需Docker,1分钟本地对象存储环境搭建
windows·docker·容器·对象存储·minio·企业存储·rustfs