由于更新了mac系统到最新,所以我的docker镜像有些无法使用,并报错:was pulled with platform “linux/amd64”, expected “linux/arm64” for current build (line 1)。
解决方案:
- 确保已安装多架构支持:
docker run --privileged --rm tonistiigi/binfmt --install all
- 使用 docker buildx 并指定 --platform=linux/amd64 来构建:
api-base:
docker buildx build \
--platform linux/amd64 \
-t $(registry):api_base \
-f _build/env.dockerfile \
--push .
api: api-base
docker buildx build \
--platform linux/amd64 \
-t $(registry):$(tag) \
-f _build/Dockerfile \
--push .
- 可以测试 AMD64 架构:
docker run --platform linux/amd64 alpine uname -m
如果返回 x86_64,说明 AMD64 模拟已成功。