【问题标题】:how to run arm64 docker images on amd64 host platform如何在 amd64 主机平台上运行 arm64 docker 镜像
【发布时间】:2021-08-06 02:52:35
【问题描述】:

尝试将在我的 mac m1 上创建的映像运行到 Docker 游乐场网站时出现以下错误

WARNING: The requested image's platform (linux/arm64) does not match the detected host platform (linux/amd64) and no specific platform was requested

有没有办法让它成为可能?

【问题讨论】:

    标签: linux docker ubuntu apple-m1


    【解决方案1】:

    您能与我们分享一下您是如何建立自己的形象的吗?

    您可以build multi arch images from a single host,但您需要确保在构建时将正确的标志传递给 Docker。在您的情况下,您需要定位 linux/amd64 以使其在您定位的主机上运行。

    上面文章中的例子就是这样,使用docker buildkit

    ~/test ❯❯❯ docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t adamparco/demo:latest --push .
    

    或者,如果您还没有启用 buildkit(我认为它现在是 docker 桌面的默认设置),您可以通过 docker manifests 使用旧方式,根据此示例:

    # AMD64
    $ docker build -t your-username/multiarch-example:manifest-amd64 --build-arg ARCH=amd64/ .
    $ docker push your-username/multiarch-example:manifest-amd64
    
    # ARM32V7
    $ docker build -t your-username/multiarch-example:manifest-arm32v7 --build-arg ARCH=arm32v7/ .
    $ docker push your-username/multiarch-example:manifest-arm32v7
    
    # ARM64V8
    $ docker build -t your-username/multiarch-example:manifest-arm64v8 --build-arg ARCH=arm64v8/ .
    $ docker push your-username/multiarch-example:manifest-arm64v8 
    

    【讨论】:

      猜你喜欢
      • 2021-07-31
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 2022-01-10
      • 1970-01-01
      • 2021-07-20
      • 2022-08-11
      相关资源
      最近更新 更多