通过 m1 Mac 先安装虚拟机然后再跑 docker 来运行 amd64 架构镜像是否可行??
1
zhaol 2021-09-30 14:14:50 +08:00
同 m1,跑 gitlab-ee 的镜像时,遇到同样的问题,求解
|
2
mxT52CRuqR6o5 2021-09-30 14:17:05 +08:00
不是说 m1 的 docker 有 qemu 去跑 x86/x86_64 吗(没用过不确定)
|
3
BrettD 2021-09-30 14:43:05 +08:00 via iPhone
QEMU 软件转译 x86 效率很低,大概是二十年前奔腾 II 的性能
|
6
shiny 2021-09-30 15:25:32 +08:00
会比较慢,但是很多流行的镜像都提供了 arm64v8 架构,注意找找基本都有
|
8
byte10 2021-09-30 16:15:55 +08:00
@BrettD M1 有虚拟接口不可能那么慢,哪怕纯计算模拟,只要上 jit 都不会慢,还是可以看看界面的。越狱后的 ipad M1 使用 UTM 跑 window (需要 jit 模式),打开那些 office 啥的 浏览器啥,看个电影啥都没问题。跑简单的项目完全不是问题。何况 macbook M1 还提供虚拟接口,性能完全不是问题。macbook 也有 utm,楼主可以看看
|
9
mmtromsb456 2021-09-30 16:38:26 +08:00 via iPhone
不需要自己创建虚拟机,Docker for Mac 本身创建的虚拟机(无论是否使用 Virtualization.Framework )都包含了 qemu-aarch64,所以直接 docker run --platform linux/amd64 指定运行容器使用的架构即可
|
10
programV2 OP |
11
mmtromsb456 2021-09-30 21:17:49 +08:00
@programV2 #10 可以的,也可以在本地 build 完后上传到仓库等等,和目前的已有镜像也是通用的,因为就是同一个东西.不过相对来说性能相对不太好,如果可以建议还是启用实验性功能 Virtualization.Framework
|
12
marknote 2021-10-01 11:58:16 +08:00 via iPhone
我发现比较靠谱的方式是
用 qemu 或者 UTM 运行 amd64 的 Linux |
13
programV2 OP @mmtromsb456 谢谢大佬,你说的这个 Virtualization.Framework 我 Google 了一下教程 , 好像还挺麻烦的 , 还需要自行 build : https://cloud.tencent.com/article/1778892 现在还有什么快捷的开启方式吗?
@mmtromsb456 大佬,你是个楼上这位 v 友提及的 Virtualization.Framework 吗? 碰到了什么问题吗? @marknote @marknote |
16
mmtromsb456 2021-10-22 16:33:38 +08:00 via iPhone 1
@programV2 Virtualization.Framework 框架是苹果内置在系统供开发者调用的框架,如果你要手动创建虚拟机来跑 docker,那得用 GitHub 上别人写的封装工具来调用。
我之前提到是因为 Docker Desktop for Mac 本身适配了这个框架,就在他设置的 experimental 里面启用他就会把 qemu 后端迁移到 VF 框架 |
17
marknote 2021-10-23 22:15:58 +08:00 1
有 2 中方法:
1. 直接安装 https://github.com/knazarov/homebrew-qemu-virgl 效果很完美 2.或者 UTM: https://mac.getutm.app |