Ubuntu 20.04でDockerのマルチアーキテクチャのビルドをしようとしているが、docker buildx lsしても以下のような感じでarmが表示されない…。
$ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS PLATFORMS
default * docker
default default running linux/amd64, linux/386
QEMUを入れてみたり、環境変数を設定したところで変わらない。ググってもいまいち良いものがヒットしないのだが、github.com/docker/buildxを読むと、以下を実行すれば良いっぽい。
$ docker run --privileged --rm tonistiigi/binfmt --install all
QEMUも入れておく必要があると思うが、無事にarmが表示されるようになった。
$ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS PLATFORMS
default * docker
default default running linux/amd64, linux/386, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/arm/v7, linux/arm/v6