来自“利用多CPU架构支持”的文档
Docker Hub上大多数官方镜像都提供各种架构。例如,busybox镜像支持amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、ppc64le和s390x等架构。当在x86_64 / amd64机器上运行此镜像时,将拉取并运行amd64变体。
因此,这取决于您在进行docker pull时使用的操作系统。
我如何自己选择操作系统和架构。
同一页上补充道:
You can also run images targeted for a different architecture on Docker Desktop.
You can run the images using the SHA tag, and verify the architecture.
For example, when you run the following on a macOS:docker run --rm docker.io/username/demo:latest@sha256:2b77acdfea5dc5baa489ffab2a0b4a387666d1d526490e31845eb64e3e73ed20 uname -m
aarch64
docker run --rm docker.io/username/demo:latest@sha256:723c22f366ae44e419d12706453a544ae92711ae52f510e226f6467d8228d191 uname -m
armv71
In the above example, uname -m returns aarch64 and armv7l as expected, even when running the commands on a native macOS or Windows developer machine
docker run
命令中使用--platform linux/amd64
标志来选择架构。 - krzychudocker info
中看到这一点:$ docker info --format '{{ .OSType }}/{{ .Architecture }}'
linux/x86_64
这个代码可以在containerd中找到,而且在Go语言中查找操作系统和架构的方式略有不同:
$ go env
GO111MODULE=""
GOARCH="amd64"
...
GOOS="linux"
...
python:<version>-alpine
以及对其的一些描述。如果有任何问题,请告诉我。 - sajjad rezaei