在 Apple M1 芯片中强制 Docker 使用 amd64
在Linux或者Window等AMD64架构的机器上(AWS EC2、ECS, 阿里云函数计算等)使用苹果M1芯片上的构建的Docker镜像(或者其他ARM64架构的机器构建的镜像)会带来一些问题。因此为了在上述平台部署苹果芯片构建的镜像我们需要指定构建AMD64架构的镜像。
有几种方法可以实现:
在你的环境中指定
DOCKER_DEFAULT_PLATFORM
参数你可以直接在构建之前运行
export DOCKER_DEFAULT_PLATFORM=linux/amd64
,或者把这句话放到你的.bashrc
、.zshenv
或者.zshrc
等文件中,这样可以避免每次都去设置在
Dockerfile
的From中指定平台比如
FROM --platform=linux/amd64 python:3.7-alpine
如果使用
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
29810
HI, THERE!I AM MOFEI