これは何?
podman を使ったマルチプラットフォーム対応イメージ作成のメモです
結論
qemu-user-static を初期化した後、manifest 付きでビルドし、push します.
dockerhub に push する場合、下記のようになります. --format
指定をしない場合、 dockerhub でプラットフォームが表示されません.
podman run --rm --privileged docker.io/multiarch/qemu-user-static --reset -p yes
podman build --platform linux/amd64,linux/arm64 --format docker --manifest hogehoge .
podman login --username foo docker.io
podman manifest push --format v2s2 hogehoge docker://docker.io/foo/hogehoge
確認した環境
Windows 10 21H1 の WSL2
podman 3.4.1
注意点
podman の version が古いと --platform
に同時に複数のプラットフォームを指定できません。
次のように複数回 --platform
を指定してください。
podman build --platform linux/amd64 --platform linux/arm64 --format docker --manifest hogehoge .
参考