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的坎坷经历

相关推荐
清风细雨_林木木18 小时前
MacOS本地数据库搭建
数据库·macos
熙客19 小时前
阿里云负载均衡SLB的使用
网络·阿里云·云原生·云计算·负载均衡
送秋三十五19 小时前
Docker 构建教程:学习上下文、架构和性能优化技术
学习·docker·架构
yannan201903131 天前
Docker容器
运维·docker·容器
书弋江山1 天前
iOS一直讲的单元格优化
macos·ios·cocoa
小宁爱Python1 天前
Windows Docker Desktop占用C盘空间过大解决办法集合
运维·docker·容器
JAVA学习通1 天前
发布自己的 jar 包到 Maven 中央仓库 ( mvnrepository.com )
人工智能·docker·自然语言处理·容器·rocketmq
Cloud孙文波1 天前
探索Apache APISIX:动态高性能API网关
云原生·kubernetes·apisix
木亦汐丫1 天前
Docker 镜像版本Alpine、Slim、Bookworm、Bullseye、Stretch、Jessie
运维·docker·容器·debian·alpine·slim·bullseye
阿四1 天前
mac升级系统到macOS26后触控板滑动异常,原因竟然是这个!
macos