概要
プライベートで開発しているアプリケーションのイメージをクロスコンパイルする必要性に駆られて(ローカルの開発環境と本番の環境でアーキテクチャが異なっていることが起因)対応したのでメモ。
buildx
Docker Desktopにはbuildxが標準で備わっているのでそちらを利用する。
buildxを使うことでマルチアーキテクチャ対応のイメージを簡単に作ることができる。
例
こんな感じのDockerfileがあったとする。(実際に使っているDockerfileなのだが..)
環境変数については下記参照。 cf. https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/builder/
buildとpushはこんな感じ。platformは複数指定することができる。
余談
MySQLのオフィシャルイメージがいつの間にかARMにも対応するようになっていた。 M1ユーザーは嬉しい。