Slide 1

Slide 1 text

Docker イメージのマルチアーキテクチャビルド 2021/12/21 @shin1x1

Slide 2

Slide 2 text

Docker イメージ linux/amd64: Intel Mac で利用するイメージ linux/arm64: Apple Silion Mac で利用するイメージ 異なるアーキテクチャイメージもいちおう動作するが、 動作が遅くなったり、挙動が不安になるケースも 動作する環境に合わせたイメージを作ろう! 2

Slide 3

Slide 3 text

Docker Buildx によるマルチアーキテクチャビルド https://docs.docker.com/buildx/working-with-buildx/ 3

Slide 4

Slide 4 text

ビルドする Dockerfile FROM debian:bullseye CMD uname -m Docker イメージビルド & プッシュ $ docker buildx build --platform linux/amd64,linux/arm64 \ -t shin1x1/sample --push . --platform でターゲットを指定 --push で Docker Hub への push も同時に行う 4

Slide 5

Slide 5 text

できた! 5

Slide 6

Slide 6 text

M1 Mac で実行すると aarch64 を出力 $ docker run --rm shin1x1/sample aarch64 --platform オプションで amd64 イメージを実行 $ docker run --rm --platform linux/amd64 shin1x1/sample x86_64 6

Slide 7

Slide 7 text

詳細は blog で https://blog.shin1x1.com/entry/docker-multi-arch-build-on-github-actions 7