= Dockerイメージのマルチプラットフォームビルド 近年Graviton、Macを初めとしてARMマシンが増えてきました。x86プラットフォームと共通して利用できるコンテナイメージを作成するには、マルチプラットフォームビルドが必要になります。 ここでは、x86,armのマルチプラットフォームビルドのやり方を記載します。 == パッケージの準備 {{{ $ sudo apt-get install docker-buildx-plugin $ sudo apt-get install qemu-user-static }}} == マルチプラットフォームビルダーの準備 {{{ $ docker buildx create --name mpbuilder --use $ docker run --privileged --rm tonistiigi/binfmt --install all $ docker buildx ls NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS mpbuilder* docker-container \_ mpbuilder0 \_ unix:///var/run/docker.sock running v0.25.1 linux/amd64, linux/arm64, linux/arm (+2), linux/ppc64le, (5 more) default docker \_ default \_ default running v0.25.1 linux/amd64, linux/arm64, linux/arm (+2), linux/ppc64le, (5 more) }}} == ビルド実行とイメージのpush マルチプラットフォームビルドを利用した場合、イメージをビルドしただけではローカルのdockerで利用できません。レジストリにpushしてから利用するようにしてください。 {{{ docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/okamototk/tableau-mcp:latest --push . }}}