当前位置: 首页 > news >正文

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

文章目录

    • 为什么不使用docker desktop
    • 1.docker desktop卸载
    • 2.docker、docker compose安装
    • 3.colima安装
      • 3.1获取镜像地址
      • 3.2将下载好的iso文件放到colima指定路径
      • 3.3重新执行colima start
    • 4.minikuke+kubernetes安装
    • 5.关闭minikube

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即可。
alpine-lima-clm-3.18.3-aarch64下载

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

http://www.lryc.cn/news/206016.html

相关文章:

  • Non-constant range: argument must be an integer literal
  • TCP网络通信
  • echarts中,X轴名称过长隐藏,鼠标hove显示全称
  • laravel框架介绍(二) 打开站点:autoload.php报错
  • reactNative导入excel文件
  • mysql 命令行安装
  • JAVA基础知识Fundamental
  • 民宿如何经营与管理?【民宿小程序】
  • 用 Rust 和 cURL 库制作一个有趣的爬虫
  • 华为OD 走方格的方案数(100分)【java】A卷+B卷
  • postgresql|数据库|序列Sequence的创建和管理
  • (完全解决)如何输入一个图的邻接矩阵(每两个点的亲密度矩阵affinity),然后使用sklearn进行谱聚类
  • Unity中Shader的ShaderLOD
  • 图像压缩(4)《数字图像处理》第八章 8.3节 数字图像水印
  • C++之lambda匿名函数总结(二百四十五)
  • STM32F103单片机内部RTC实时时钟驱动程序
  • ChinaSoft 论坛巡礼 | 开源软件生态健康度量论坛
  • Leetcode.2698 求一个整数的惩罚数
  • 大数据Flink(一百零二):SQL 聚合函数(Aggregate Function)
  • 因mapjoin加载内存溢出而导致return code 3
  • pip 指定源
  • 嵌入式中的MCU、ARM、DSP、FPGA
  • 二、PHP基础学习[变量]
  • k8s kubeadm配置
  • B-3:Web安全之综合渗透测试
  • 设计模式—设计模式总览
  • C++ 流程控制(分支、循环、跳转)
  • 【网络协议】聊聊TCP的三挥四握
  • Docker镜像仓库
  • 跨界技术:SOCKS5代理在电商、爬虫与游戏领域的应用