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

相关推荐
終不似少年遊*14 分钟前
操作系统、虚拟化技术与云原生及云原生AI简述
docker·ai·云原生·容器·华为云·云计算·k8s
带你去吃小豆花1 小时前
在亚马逊云科技上使用n8n快速构建个人AI NEWS助理
人工智能·科技·ai·云原生·aws
ghostwritten6 小时前
如何在 Mac 上彻底卸载 DMG 软件
macos
2401_840192277 小时前
k8s的StorageClass存储类和pv、pvc、provisioner、物理存储的链路
docker·容器·kubernetes
小王不会写code11 小时前
Docker安装、配置Redis
redis·docker
RedCong11 小时前
如何在k8s中对接s3存储
云原生·容器·kubernetes
SDL大华12 小时前
【备忘】在Docker中安装宝塔面板,实现环境隔离,又能快速迁移服务器环境
服务器·docker·容器
TC139813 小时前
docker 终端打不开rviz2界面,报错qt.qpa.xcb: could not connect to display
docker·容器
Tee xm13 小时前
清晰易懂的 Flutter 卸载和清理教程
linux·windows·flutter·macos