如果在dockerFile命令FROM中从docker hub加载图像时,未指定平台,那么它是基于当前服务器架构加载的吗?
我的意思是,当我在Amazon Linux 2 x86上构建dockerfile时,docker引擎是否可以获取可在linux/x86-64上运行的docker图像? 谢谢!
Docker 构建默认使用目标平台的基础镜像,该目标平台默认为您的 Docker 宿主机的平台。因此,如果您的 Docker 引擎在 linux/amd64 上运行,并且您没有将 --platform
参数传递给 docker build
或 FROM
命令,在构建时会尝试从多平台基础镜像中拉取 linux/amd64 镜像。
您可以通过运行以下命令来检查您的 Docker 宿主机:
docker system info --format '{{.OSType}}/{{.Architecture}}'
docker system info --format '{{.OSType}}/{{.Architecture}}'
。 - BMitchdocker system info
不总是提供正确的结果。例如,在 M1 系统上,... --format '{{.OSType}}/{{.Architecture}}'
显示为 linux/aarch64
,而不是 --platform
参数使用的 linux/arm64
。更多信息,请参见 https://github.com/BretFisher/multi-platform-docker-build。 - Chadwick--platform linux/arm64
或 --platform linux/aarch64
解析为相同的图像。(Docker 20.10.22) - bric3