各位大佬, 苹果 M 系 CPU 现在跑 docker 坑么?

2024-10-17 20:30:30 +08:00
 onikage

本人后端开发,平时各种环境喜欢装 docker 里面,最近在等 m4 的 mbp.刚刚发现似乎苹果对 docker 不太友好,跑起来比较麻烦? 基于 Apple Hypervisor framework 能兼容全部 arm64 的镜像吗?会不会有的 arm64 镜像能跑有的不能跑?

6700 次点击
所在节点    Apple
22 条回复
1145148964
2024-10-17 20:34:20 +08:00
如果你不富,不是那种买高配 2t+64G 的。
建议买一个小 win 主机运行。效果很好。而且很便宜。
viking602
2024-10-17 20:42:08 +08:00
没有 amd64 镜像都可以跑
onikage
2024-10-17 20:52:53 +08:00
@viking602 amd64 的发热耗电大么?
onikage
2024-10-17 20:53:27 +08:00
@1145148964 不太喜欢远程搞.
chuck1in
2024-10-17 20:56:48 +08:00
我用的 intel 的 apple ,倒是没什么问题。但是确实有 m 芯片的跑同样的 dockerfile 出问题的。
superwater
2024-10-17 20:57:42 +08:00
我个人使用的体验还是不错的,Docker Desktop 的话,打开"Use Rosetta for x86_64/amd64 emulation on Apple Silicon"选项跑 x64 的镜像效率还可以
virusdefender
2024-10-17 20:58:42 +08:00
推荐 orbstack
miyunda
2024-10-17 20:58:54 +08:00
OrbStack 不香么
cat
2024-10-17 23:03:51 +08:00
MacBook Air M3 16G ,装了 Docker Desktop ,跑了 Redis 和 mongo ,没啥问题
你想知道哪个镜像,可以帮你试试
wdhwg001
2024-10-18 00:49:12 +08:00
基本上 amd64 的性能只能达到原生的三分之一到一半,够用是够用的。

另外需要更新到新系统,至少 sonoma 吧,旧版本有一些奇怪的 rosetta bug 。

另外 docker desktop 还是推荐用,比 orbstack/colima/rancher 要好,一个比较突出的点是它设置 swap 很方便,而 rancher 需要在 docker host 上跑命令才行,colima 更麻烦。

还有 docker desktop 是可以在 vm 外修改文件之后触发 vm 内的重打包的,而替代品们都很难实现这一点,这个对于 jetbrains 系这种不完整支持 remote 的 ide 来说很头疼。
quantum00549
2024-10-18 09:20:06 +08:00
orbstack 很香, 但就怕有时候接管一些上古项目, 即便跑 x86 镜像也有兼容问题, 我日常还常备个 mini 主机当服务器, 用来远程开发啥的
akorn
2024-10-18 09:21:58 +08:00
不知道 OP 用 docker 干什么?是纯自己用,还是有部署需求?
arm 环境打包,x86 部署,容易出问题。
mnsw
2024-10-18 09:24:43 +08:00
OrbStack 试试呢
viking602
2024-10-18 09:28:30 +08:00
@onikage #3 我是没啥感觉 一般也不会跑 amd64 镜像 新一点的版本都会有 linux/arm64 镜像
8355
2024-10-18 09:40:48 +08:00
orbstack 啊。。。。
yinmin
2024-10-18 10:05:46 +08:00
熟悉 linux 的,应该喜欢 parallel desktop 跑 debian ,然后装 docker ce 这种模式吧
SayHelloHi
2024-10-18 13:30:02 +08:00
推荐使用 OrbStack 替换 Docker Desktop
onikage
2024-10-18 15:28:55 +08:00
@cat 多谢, 能帮忙试试 orbstack 吗? 看起来比 Docker Desktop 好不少. 镜像的话试试这个 hagb/docker-easyconnect, 常用的大概率没啥问题, 公司 vpn 是这个恶心的深信服搞的. 可能需要用到的启动命令是这个:
docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=xxxx -e URLWIN=1 -e DISABLE_PKG_VERSION_XML=1 -p 5901:5901 -p 1080:1080 -p 8888:8888 hagb/docker-easyconnect:latest

关键是启动后 vnc 能不能从 5901 端口连过去,并正常显示界面且能对界面完成点击操作.
这个我在 wsl2 上面试过, wsl2 上 vnc 能连,但是没有图像, linux 上也试了,通过 remmina 的 vnc 插件也能连,但是鼠标无法操作...
只有正儿八经的 linux 虚拟机和 ultravnc 组合才能正常使用.
onikage
2024-10-18 15:30:09 +08:00
@acorngyl 就是单纯的不想把机器环境弄的乱七八糟.
Nasei
2024-10-18 17:50:58 +08:00
跑 amd64 的镜像非常慢,即使是 orb

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1081301

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX