Multi-arch image build.
Dec 28, 2020
Herhangi bir uygulamanın docker imajını istenilen mimaride çalışacak şekilde build edebilmek için aşağıda anlatılan işlem adımları uygulanmalıdır:
1- Docker clientta experimental özelliği aktif edilir.
# echo '{ "experimental": "enabled" }' > ~/.docker/config.json
2- Docker client için yeni bir builder oluşturulur.
# docker buildx create --name nubuilder
# docker run --rm --privileged docker/binfmt:66f9012c56a8316f9244ffd7622d7c21c1f6f28d
Aşağıdaki komut çıktısı ile builder’ın hangi mimariler için imaj build edilebiceği kontrol edilebilir.
# docker buildx inspect --bootstrap
Name: nubuilder
Driver: docker-containerNodes:
Name: nubuilder0
Endpoint: unix:///var/run/docker.sock
Status: running
Platforms: linux/amd64, linux/386, linux/arm64, linux/ppc64le, linux/s390x, linux/arm/v7, linux/arm/v6
3- Son olarak buildx komutu ile ilgili konteyner build edilerek yerel docker deposuna “ — load” parametresi ile yüklenir.
# docker buildx build --load --platform linux/ppc64le --tag myrepository/wordpress:ppc64le .