出于开源项目的需要,我准备把之前在 windows 下运行的开源项目移植到 Mac 上跑得试下,但是 Mac M1 芯片并不能很好地支持 Docker,这不,发现 Docker 也正式支持 Mac 了,M1 看了 Docker 的芳容,竟悄悄爱上了 Docker。

本文主要内容如下:

一、官宣

网购优惠券 www.fenfaw.cn

1.1 官宣版

之前 Docker 只支持在 Intel 芯片的 X86 架构上运行,Docker 已经正式支持苹果 M1 芯片了,而 M1 芯片是 ARM 架构的,所以说 Docker 真的是太强大了,短短几个月就适配了苹果最新的系统!

这不就是官宣 Docker 帅哥要追 M1 妹纸么?

悟空到官网上看了下,2021-04-15 发布的正式版:Docker Desktop 3.3.1,而且可以直接下载。

官网地址:https://docs.docker.com/docker-for-mac/apple-silicon/

这个 Desktop 包含很多功能:

  • Docker Engine
  • Docker CLI client
  • Docker Compose
  • Notary
  • Kubernetes
  • Credential Helper

另外在 M1 上运行 Docker 还有些条件需要满足。

1.2 要求

因为 M1 比较前卫,所以需要安装 Rosetta 软件来进行兼容。

必须安装 Rosetta ,因为某些二进制文件仍是Darwin / AMD64。要从命令行手动安装Rosetta 2,请运行以下命令:

softwareupdate --install-rosetta

Docker 官方有望在将来的版本中修复此问题。

1.3 磨合

Docker 和 M1 还有许多地方需要磨合:

  • 并不是所有镜像都可以用于 M1 的 ARM64 架构,比如 mysql 镜像就不适合。但可以通过使用 mariadb 镜像来解决此问题。

我试了下,确实没有合适的 mysql 镜像。

  • 由于QEMU有时无法运行容器,因此在 Apple Silicon计算机上运行基于Intel的容器可能会导致崩溃。我们建议您在Apple Silicon计算机上运行 ARM64 容器。与基于Intel的容器相比,这些容器还更快并且使用的内存更少。
  • ping从容器内部到 Internet 的连接无法正常工作。要测试网络,我们建议使用curlwget
  • 当TCP流半关闭时,用户有时可能会遇到数据丢失的情况。

二、手拉手

2.1 左手拉右手

之前在 Linux 环境安装 Docker 是通过命令行安装的,但是在 Mac 上有客户端可以使用,确实方便很多。安装 Mac 版的 Docker非常方便,下载完成后的文件名叫做 Docker.dmg。双击文件后,弹出如下界面,把 Docker.app 图标拖到右边 Appliactions 就可以了,就像左手拉右手

Docker 帅哥成功牵手 M1。

安装完成后,在应用程序中找到 Docker,双击打开就可以了。

接着就可以看到 Docker 在菜单栏中有显示。

2.2 启动容器

打开的界面,会提示没有容器正在运行,客户端提示执行以下命令启动一个新的容器。

docker run -d -p 80:80 docker/getting-started

我们将命令拷贝到控制台后运行,如下图所示:

然后我们来check 下容器是否创建和启动成功。通过以下命令来查看 docker 容器的运行状态。

docker ps

我们同样可以通过 Docker 客户端来查看容器状态:容器正在运行中,对应的端口号是 80。如下图所示:

另外我们也可以看下有哪些镜像已经下载好了,如下图所示,目前有一个镜像:docker/getting-started。

2.3 Intel & Apple

我们打开活动监视器,可以看到打开的 docker 进程既有 Apple 架构的,也有 Intel 架构的,比如桌面 UI 用的是 Intel 架构的,但 Docker 核心应用程序用的 Apple 架构,说明虽然有部分用的 Intel 架构,但核心还是 Apple 架构,不影响使用。

再来看下内存使用情况,12 个进程,总共占用 430 M 内存,说明占用的内存并不高,性能还是可以的。

三、暖男

Docker 客户端还有一系列人性化的配置,优质暖男一枚。来看下有什么配置吧。

3.1 通用偏好设置

Docker 客户端,有很多人性化的通用设置。如下图所示:

  • 自动检查更新:默认情况下,Docker Desktop配置为自动检查较新版本。如果您作为组织的一员安装了Docker Desktop,则可能无法自己更新 Docker Desktop。在这种情况下,请将您现有的组织升级为团队计划,然后清除此复选框以禁用自动检查更新。
  • 登录时启动 Docker Desktop:打开会话时自动启动Docker Desktop。
  • 在 Time Machine 备份中包括 VM:选择此选项以备份 Docker Desktop 虚拟机。默认情况下未勾选此选项。
  • 使用 gRPC FUSE 进行文件共享:清除此复选框可改用旧版 osxfs 文件共享。
  • 发送使用情况统计信息:Docker Desktop发送诊断、崩溃报告和使用情况数据。此信息可帮助Docker 改善应用程序并进行故障排除。
  • 显示每周提示:显示有关使用Docker的有用建议。
  • 启动时打开 Docker Desktop 仪表板:启动 Docker Desktop 时自动打开仪表板。

3.2 资源高级配置

还有些关于资源的高级配置也非常强大,来瞧一瞧吧。

  • CPU:默认情况下,Docker Desktop设置为使用主机上可用处理器数量的一半。要提高处理能力,请将其设置为更高的数字。
  • 内存:默认情况下,Docker Desktop设置为使用2GB运行时内存,该内存是从Mac上的总可用内存分配的。要增加RAM,请将其设置为更大的数字,如果要减少它,请降低数字。
  • 交换:根据需要配置交换文件的大小,默认值为1 GB。
  • 磁盘映像大小:指定磁盘映像的大小
  • 磁盘映像位置:指定Linux卷的容器和映像的存储位置。

3.3 K8S

Docker Desktop 竟然直接支持 kubernets(K8S) ,太酷了吧!

Docker Desktop 包含一个可在 Mac 上运行的独立 Kubernetes 服务器,因此可以测试在Kubernetes上部署 Docker 的工作负载。要启用Kubernetes支持并安装作为Docker容器运行的Kubernetes独立实例,请选择Enable Kubernetes

还有很多非常有用的功能,这里就不一一介绍了,感兴趣的可以到官网上查看哦~

Docker 对于 M1 来说,绝对是优质暖男一枚!实锤了!

M1 和 Docker 谈了个恋爱相关推荐

  1. 我们是已经谈不起恋爱的80后

    现在的我们已经到了谈婚论嫁的年龄, 但是身边好多同学和同事仍然是单身. 当我问及他们的时候,回答都是:婚姻是件大事不敢太草率了, 所以选自己另一半的时候更多的是理智. 然而,好多没谈过恋爱的人还是期望 ...

  2. outlook搜索栏跑到上面去了_都市农园 周末去谈一场恋爱,顺便买回一座花园

    点击蓝字关注我们 8月9日上午,"家庭菜园群"第三次线下交流活动在红尘虫子家举行,主题是分享她家的都市农园规划.设计. 陈科 摄 可来到她家,大家瞬间就被那分区明朗.物种丰富.景致 ...

  3. MAC M1安装docker并拉取mysql镜像

    MAC M1安装docker并拉取mysql镜像 inter芯片和m1芯片安装docker方式些许不同,本次我只记录m1安装docker和拉取镜像 Docker常用命令 拉取镜像:docker pul ...

  4. 【MacBookPro M1 安装Docker】

    MacBookPro M1 安装Docker 一.安装包下载 二.docker安装 三.验证 一.安装包下载 进入链接: 下载地址,点击Mac with Apple chip进行下载.dmg文件 二. ...

  5. Springboot - 用SpringBoot 2.3.0.M1创建Docker映像

    Springboot - 用SpringBoot 2.3.0.M1创建Docker映像) 1.发布 2.说明 3.常见的Docker 运行方式 4.常规方式通过docker 运行springboot ...

  6. 已经谈不起恋爱的80后

    已经谈不起恋爱的80后 现在的我们已经到了谈婚论嫁的年龄, 但是身边好多同学和同事仍然是单身. 当我问及他们的时候,回答都是:婚姻是件大事不敢太草率了, 所以选自己另一半的时候更多的是理智. 然而,好 ...

  7. c语言单身狗题目罩得住学长,看到就是赚到!心理学教授研究多年,只为谈不了恋爱的你...

    近了近了,妹妹们的成团日终于近了! 为了将pick的妹妹送上梦寐以求的出道位,本青春制作人日夜不停咬定打投不放松! 一边听着<YES!OK!>为自己加油打劲,一边想象着明天九人团的团名舒缓 ...

  8. 程序员如何用gRPC谈一场恋爱

    导语: 本文以幽默诙谐的方式,介绍gRPC的4种client-server服务模式的开发实践及应用场景 前言:为什么要写这篇文章? The best way to learn is to teach. ...

  9. 二十岁和三十岁的女生!脱单或者谈一场恋爱还是先脱穷?女孩子就应该好好奋斗

    我第一次看到这问题,我非常想回答,可是我看了一下别人的回答和文章.感觉还不错! 其实这个问题男生也有的,就比如博主(阿八个人博客www.abboke.com)我也一样,我可以说没谈过恋爱,因为家里人说 ...

最新文章

  1. Gerapy分布式管理框架
  2. 如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习)
  3. VS2005中GridView簡單應用
  4. Eigen--.block(i,j,p,q)
  5. DispatcherServlet服务调度
  6. Android 5.1 Gallery2 模块编译不过解决办法
  7. 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用
  8. 树中两个节点的最低公共祖先
  9. 魔百盒UNT403A UNT413A 卡刷精简固件-芯片S905L3
  10. php flash斗地主,flash斗地主
  11. uc/os-II的内存改进与实现TLSF算法的详解,移植实现(一)
  12. 英文论文PDF全文翻译途径整理
  13. 正点原子ATK-LORA-01无线串口代码移植+STM32F103C8T6(标准库)
  14. 当cmd里安装不了Appium-Python-Client时,Requirement already satisfied: Appium-Python-Client in
  15. python实现连环阵
  16. 阿里一p7员工为了证明自己确实年入百万,晒出了他的工资
  17. CSS总结---持续更新中 2022.8.4
  18. ZJNU——1695(分栗子)
  19. 广工数据结构课设——校园导游咨询(C语言)
  20. 小爱同学控制灯 局域网

热门文章

  1. Flutter APNS device token not set before retrieving FCM Token for Sender ID
  2. 最近遇到使用Zing.DLL生成条码,但是打印出来不清晰的问题,解决代码记录一下,
  3. acm第一周学习总结
  4. Linux系统中一些目录和文件的详细解释(参照RHEL5.4)
  5. Microsoft Excel 教程「3」:如何在 Excel 中打印工作表?
  6. 小程序1rpx,边框不完整或线条太粗
  7. pathon基础练习
  8. 如何判断是否是ssd硬盘?win10查看固态硬盘的方法
  9. 摔手机 蓝桥 Python
  10. 基于vue3的移动端音乐播放器