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

相关推荐
sysin.org7 分钟前
VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)
macos·esxi·bios·unlocker·oem·2.7
yanling202313 分钟前
Parallels Desktop 20 for Mac中文版发布了?会哪些新功能
macos·虚拟机·pd
沛沛老爹35 分钟前
服务监控插件全览:提升微服务可观测性的利器
微服务·云原生·架构·datadog·influx·graphite
不会敲代码的VanGogh1 小时前
【iOS】——应用启动流程
macos·ios·objective-c·cocoa
huaqianzkh2 小时前
了解华为云容器引擎(Cloud Container Engine)
云原生·架构·华为云
Alone80462 小时前
K8s中HPA自动扩缩容及hml
云原生·容器·kubernetes
sysin.org2 小时前
VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025
windows·macos·esxi·bios·oem·网卡驱动·nvme驱动
神秘的土鸡2 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat
玖石书2 小时前
docker 数据管理
docker·容器
GEEKVIP3 小时前
恢复已删除文件的可行方法,如何恢复已删除的文件
macos·智能手机·电脑·笔记本电脑·cocoa·iphone·ipad