Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker イメージのマルチアーキテクチャビルド / docker-muti-arch-build

Ca17a082a30f4cbfed1d0a6dacbe3af2?s=47 shin1x1
PRO
December 21, 2021

Docker イメージのマルチアーキテクチャビルド / docker-muti-arch-build

Ca17a082a30f4cbfed1d0a6dacbe3af2?s=128

shin1x1
PRO

December 21, 2021
Tweet

More Decks by shin1x1

Other Decks in Programming

Transcript

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

  2. Docker イメージ linux/amd64: Intel Mac で利用するイメージ linux/arm64: Apple Silion Mac

    で利用するイメージ 異なるアーキテクチャイメージもいちおう動作するが、 動作が遅くなったり、挙動が不安になるケースも 動作する環境に合わせたイメージを作ろう! 2
  3. Docker Buildx によるマルチアーキテクチャビルド https://docs.docker.com/buildx/working-with-buildx/ 3

  4. ビルドする 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
  5. できた! 5

  6. M1 Mac で実行すると aarch64 を出力 $ docker run --rm shin1x1/sample

    aarch64 --platform オプションで amd64 イメージを実行 $ docker run --rm --platform linux/amd64 shin1x1/sample x86_64 6
  7. 詳細は blog で https://blog.shin1x1.com/entry/docker-multi-arch-build-on-github-actions 7