如何构建共享标签的多架构docker镜像
1
| vim ~/.docker/config.json
|
1
| "experimental": "enabled"
|
1
| docker manifest create is only supported on a Docker cli with experimental cli features enabled
|
1
| docker build -t newnius/rsync:arm64 .
|
1 2 3 4 5 6 7
| $ docker manifest create newnius/rsync:latest newnius/rsync:arm64 newnius/rsync:amd64 Created manifest list docker.io/newnius/rsync:latest
$ docker manifest annotate newnius/rsync:latest newnius/rsync:arm64 --os linux --arch arm64
docker manifest push newnius/rsync:latest sha256:bd0af18dae521dbf48bbf980e9cb5872d5f95ff8164ebc9639d1f096f4ae51db
|
1
| rm -rf ~/.docker/manifests
|
https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/
docker login
export DOCKER_CLI_EXPERIMENTAL=enabled
or
1 2 3 4 5 6
| mkdir -p ~/.docker/ vim ~/.docker/config.json
"experimental": "enabled"
|
docker info | grep Experimental
Experimental: true
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| newnius@virmach-ny:~$ cat /proc/sys/fs/binfmt_misc/qemu-aarch64 cat: /proc/sys/fs/binfmt_misc/qemu-aarch64: No such file or directory newnius@virmach-ny:~$ newnius@virmach-ny:~$ newnius@virmach-ny:~$ docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64 Unable to find image 'docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64' locally a7996909642ee92942dcd6cff44b9b95f08dad64: Pulling from docker/binfmt 5d6ca6c8ba77: Pull complete b26a8e2c75fc: Pull complete 3436361ddd98: Pull complete Digest: sha256:758ca0563f371b384cfd67b6590b5be2dc024fef45bc14a050ae104f0caad14e Status: Downloaded newer image for docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64 newnius@virmach-ny:~$ cat /proc/sys/fs/binfmt_misc/qemu-aarch64 enabled interpreter /usr/bin/qemu-aarch64 flags: OCF offset 0 magic 7f454c460201010000000000000000000200b7 mask ffffffffffffff00fffffffffffffffffeffff
|