假设我有一个foo
为许多不同的拱门(例如,、等)构建foo-arm64
的foo-amd64
应用程序。我想制作非常小的 Docker 图像,如下所示:
FROM scratch
ARG ARCH
ADD foo-$ARCH /bin/foo
ENTRYPOINT [ "/bin/foo" ]
但是,当我构建图像时:
docker build -t foo:arm64 --platform linux/arm64 --build-arg ARCH=arm64 .
架构不正确:
docker inspect foo:arm64 | grep Arch
"Architecture": "amd64", # should be arm64??
图像拱门似乎总是来自主机。当与主机不同时,如何构建具有正确架构的 Docker 映像?官方 Docker 镜像是如何做到这一点的?