嘿, 我是Mofei!
在 Apple M1 芯片中强制 Docker 使用 amd64

在Linux或者Window等AMD64架构的机器上(AWS EC2、ECS, 阿里云函数计算等)使用苹果M1芯片上的构建的Docker镜像(或者其他ARM64架构的机器构建的镜像)会带来一些问题。因此为了在上述平台部署苹果芯片构建的镜像我们需要指定构建AMD64架构的镜像。

有几种方法可以实现:

  1. 在你的环境中指定 DOCKER_DEFAULT_PLATFORM 参数

    你可以直接在构建之前运行 export DOCKER_DEFAULT_PLATFORM=linux/amd64,或者把这句话放到你的.bashrc.zshenv或者.zshrc等文件中,这样可以避免每次都去设置

  2. Dockerfile 的From中指定平台

    比如

    FROM --platform=linux/amd64 python:3.7-alpine
  3. 如果使用 docker-compose 构建,可以指定 paltform: linux/amd64

    services:  
      servername:  
        platform: linux/amd64
        ......

参考来源: https://stackoverflow.com/questions/65612411/forcing-docker-to-use-linux-amd64-platform-by-default-on-macos

THE END

更多你可能感兴趣的文章

文章中的内容是否对你有启发?留言分享你的观点吧!

avatar

Mofei's Friend (点击编辑)

输入点内容吧,我保证不挑剔。

HI. I AM MOFEI!

NICE TO MEET YOU!