为什么 k8s.gcr.io/kube-proxy Docker 图像 'work' 在多个架构上?

Why does the k8s.gcr.io/kube-proxy Docker image 'work' on multiple architectures?

运行

docker run -it -v $PWD:/tmp k8s.gcr.io/kube-proxy:v1.15.1 cp /usr/local/bin/kube-proxy /tmp
file kube-proxy

根据我所处的架构给出不同的结果,例如在 CoreOS

Container Linux by CoreOS stable (2135.5.0)
core@node1 ~ $ file kube-proxy
kube-proxy: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped

在 HypriotOS 上

HypriotOS/armv7: pirate@pirate1.lukeaddison.co.uk in ~
$ file kube-proxy
kube-proxy: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, stripped

效果如何?

容器运行时是架构感知的,容器注册表支持为多个架构定义图像。 Docker 自动为 运行 所在的平台提取正确的图像。

https://blog.docker.com/2017/09/docker-official-images-now-multi-platform/