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

mac M芯片运行docker-desktop异常问题

虽然mac已经迭代到m4了,但官方的docker-desktop运行仍然有问题,包括但不限于:

  • 命令行docker找不到
  • docker-desk打不开
  • docker-desktop闪退
  • 容器起不来

尝试不同版本后,看到了其他可以在mac跑docker的开源方法,更简单、轻量,抛弃官方的方法。

参考文字:https://tutorials.tinkink.net/zh-hans/mac/how-to-use-docker-on-m1-mac.html

Lima

Lima 是一个免费的开源软件,同样使用 QEMU 来处理不同架构的虚拟化问题。和 Docker Desktop For Mac 不同的是,它的容器软件使用的是 Containerd 而不是 Docker。

在容器的发展历史中,一开始只有 Docker ,但随后社区希望容器可以标准化,因此诞生了 CRI 标准。Containerd 是一个这个标准的一种实现,Docker 也同样遵守这个标准。因此 Containerd 与 Docker 在使用时几乎可以兼容。

按照官方教程,使用 Homebrew 安装 lima 之后就可以使用了:

# 安装
brew install lima
# 启动
limactl start此时就可以使用nerdctl来进行 Containerd 的各种操作。lima nerdctl run -d --name nginx -p 80:80 nginx:alpine
可以看到,lima nerdctl的使用与docker几乎一模一样。使用完成后除了将容器关掉外,还可以将虚拟化环境也关闭,以节约内存:limactl stop
lima 还可以设置非常多虚拟化的细节,也可以设置多个虚拟环境。更多使用细节可查看官方文档:<(https://github.com/lima-vm/lima>

Colima

Colima 是一个基于 Lima 的封装,同样是免费的开源软件,但是它的容器软件使用的是 Docker。

Colima 的安装使用也非常简单:

# 如果你没有安装过 docker 客户端,需要先安装
brew install docker
# 安装 colima
brew install colima
使用时,只需要使用 colima 命令即可:colima start
待启动完成后,就可以正常使用docker命令了,不需要额外进行其它的设置。使用完成后同样可以将虚拟化环境关闭:colima stop

OrbStack

“OrbStack 是在 macOS 上运行 Docker 容器和 Linux 机器的快速、轻量、简单的方式。您可以将其视为超级 WSL 和 Docker Desktop 的 macOS 版本,所有这些都在一个易于使用的应用程序中。”(来自官方网站。)

OrbStack 提供了一个 GUI 界面来管理 macOS 上的 Docker 容器和 Linux 机器。以及一个命令行界面。

您可以从官方网站下载:https://orbstack.dev/,或使用 Homebrew 安装:

brew install --cask orbstack

只需启动 OrbStack,您现在就可以使用 Docker 了。

在这里插入图片描述

小结
Apple Silicon 芯片的 Mac 设备使用 Docker 不是很容易
Docker Desktop For Mac 可用,但是对大中型公司收费
Lima & Colima 是免费开源的解决方案
OrbStack 是一个 GUI 解决方案

相关文章:

  • Protobuf——Protocol Buffer详解(1)
  • 基于 Flink 的实时推荐系统:从协同过滤到多模态语义理解
  • 【Python CGI编程】
  • 网络安全基础第11-13集
  • 香橙派Zero3跨网络音乐服务系统搭建与内网穿透技术应用实践
  • GESP2025年3月认证C++二级( 第三部分编程题(1)等差矩阵)
  • 深入剖析Spring Boot参数校验:实现原理、自定义注解组件与国际化多语言实践
  • allure报告自定义logo和名称
  • 网络安全-等级保护(等保) 2-5-1 GB/T 25070—2019 附录B (资料性附录)第三级系统安全保护环境设计示例
  • 深入解析Shell脚本编程:从基础到实战的全面指南
  • 高效便捷的文字识别方案与解析
  • 将 Element UI 表格元素导出为 Excel 文件(处理了多级表头和固定列导出的问题)
  • rocketmq 环境配置[python]
  • 7-15 计算圆周率
  • 增量学习:机器学习领域中的资源高效利用秘籍
  • 大语言模型 09 - 从0开始训练GPT 0.25B参数量 补充知识之数据集 Pretrain SFT RLHF
  • C++23 中的 ranges::fold_left:范围折叠算法
  • C语言进阶-数组和函数
  • 深入解析Spring Boot与微服务架构:从入门到实践
  • 智能呼叫系统中的NLP意图理解:核心技术解析与实战
  • 高途一季度净利润同比增长1108%: “与吴彦祖一起学英语”短时间内就实现了盈利
  • 北方将现今年首场大范围高温天气,山西河南山东陕西局地可超40℃
  • 通往国际舞台之路:清政府与万国公会的交往
  • 泽连斯基与埃尔多安会面,称已决定派遣代表团前往伊斯坦布尔
  • 商人运作亿元“茅台酒庞氏骗局”,俩客户自认受害人不服“从犯”判决提申诉
  • 遭“特朗普关税”冲击,韩国今年经济增长预期“腰斩”降至0.8%