V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nutting
V2EX  ›  macOS

m1 如何 docker 跨平台 build

  •  
  •   nutting · 2021-08-12 09:48:33 +08:00 · 2413 次点击
    这是一个创建于 1200 天前的主题,其中的信息可能已经有所发展或是发生改变。

    build 跨平台的镜像,似乎支持,找文章搞了一下,就是没看懂,自己的 dockerfile 不行?成功后本地 images 里没有,谁搞过啊,到底啥意思

    9 条回复    2021-08-12 14:18:28 +08:00
    sunwei0325
        1
    sunwei0325  
       2021-08-12 09:52:58 +08:00   ❤️ 1
    docker buildx build -t xxxxxxx --platform=linux/amd64 . --push
    nutting
        2
    nutting  
    OP
       2021-08-12 10:25:48 +08:00
    @sunwei0325 谢谢。似乎对了,不过如果 push 不方便提交,可以改为 --load,images 就有了。然后 Linux/arm64 似乎有问题,amd64 可以
    programV2
        3
    programV2  
       2021-08-12 10:47:09 +08:00 via iPhone
    @nutting
    @sunwei0325 大佬们,请问 Linux AMD64 的 centos 7 镜像如何在 m1 docker 里运行呢?
    @nutting
    typetraits
        4
    typetraits  
       2021-08-12 14:08:43 +08:00
    @programV2 #3 运行不了,只能换 aarch64 镜像,或者使用 qemu 之类的模拟器,在模拟器里跑 Docker,但是这样效率极低
    typetraits
        5
    typetraits  
       2021-08-12 14:10:20 +08:00
    @programV2 #3 不好意思,说错了,之前以为不能运行,但是刚才查了下可以通过 Rosetta 2 模拟运行
    https://docs.docker.com/docker-for-mac/apple-silicon/
    swulling
        6
    swulling  
       2021-08-12 14:11:30 +08:00
    @typetraits
    @programV2 用 Docker for Desktop,可以自动起模拟器运行 x86 镜像

    https://docs.docker.com/docker-for-mac/apple-silicon/


    部分镜像可能不兼容,如 MySQL,但是多数镜像可以运行的
    swulling
        7
    swulling  
       2021-08-12 14:12:31 +08:00
    @typetraits 其实不是通过 Rosetta 2,是 Docker Mac 版自带了一个 Qemu-x86 。
    typetraits
        8
    typetraits  
       2021-08-12 14:16:18 +08:00
    @swulling #7 原来如此,没有使用过,我用的都是 arm 镜像,不知道这个 qemu 跑起来的具体性能怎么样
    swulling
        9
    swulling  
       2021-08-12 14:18:28 +08:00
    @typetraits 对凑吧,能跑,比 Rosetta 2 差很多。有 arm 版镜像尽量用 arm 版的。

    主要是它也没做到 100%兼容
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2733 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:00 · PVG 15:00 · LAX 23:00 · JFK 02:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.