Сборка Docker контейнера под разные платформы

1) Добавьте в конфиг строчку ~/.docker/config.json

_x000D_"experimental": "enabled"

2) Установите QEMU

_x000D_apt-get update_x000D_apt-get install -y qemu qemu-user-static binfmt-support_x000D_update-binfmts --enable qemu-arm_x000D_update-binfmts --display qemu-arm

3) Зарегистрируйте QEMU

_x000D_docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

4) Создайте простой Dockerfile

_x000D_ARG ARCH=_x000D_FROM ${ARCH}alpine:3.11_x000D__x000D_RUN cd ~; _x000D_	echo "" > /etc/apk/repositories; _x000D_	echo "https://mirror.yandex.ru/mirrors/alpine/v3.11/main" >> /etc/apk/repositories; _x000D_	echo "https://mirror.yandex.ru/mirrors/alpine/v3.11/community" >> /etc/apk/repositories; _x000D_	apk update; _x000D_	apk add bash nano mc wget grep; _x000D_	rm -rf /var/cache/apk/*; _x000D_	echo "export EDITOR=nano" > /etc/profile.d/editor_nano; _x000D_	echo "Ok"_x000D_

5) Соберите контейнер. Вместо user должно стоять ваш репозиторий

_x000D_docker build ./ -t user/alpine_test:7.3-amd64 --file Dockerfile --build-arg ARCH=amd64/_x000D_docker build ./ -t user/alpine_test:7.3-arm32v7 --file Dockerfile --build-arg ARCH=arm32v7/_x000D_docker push user/alpine_test:7.3-amd64_x000D_docker push user/alpine_test:7.3-arm32v7

6) Создайте манифест

_x000D_docker manifest create user/alpine_test:7.3 _x000D_ --amend user/alpine_test:7.3-amd64 _x000D_ --amend user/alpine_test:7.3-arm32v7_x000D_docker manifest push user/alpine_test:7.3