Apple シリコンで x86 Docker コンテナーが扱えるようになったので試してみた

 


Mac のバージョン確認。

$ sw_vers
ProductName:            macOS
ProductVersion:         13.1
BuildVersion:           22C65

Docker のバージョン確認。

$ docker --version
Docker version 20.10.22, build 3a2c30b

arm 版 Ubuntu の確認。

$ docker run --rm --name arm-ubuntu ubuntu uname -a
Linux 8e539ca55762 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

x86 版 Ubuntu の確認。

$ docker run --rm --name x86-ubuntu --platform=linux/amd64 ubuntu uname -a
Linux 0305e7273463 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Dockerfile 作成。

$ cat <<EOF > Dockerfile
FROM ubuntu
EOF

arm 版 Docker イメージ作成。

$ docker build -t test-ubuntu .

$ docker run --rm --name arm-ubuntu test-ubuntu uname -a
Linux 675764b5b645 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

x86 版 Docker イメージ作成。

$ docker build -t test-ubuntu --platform=linux/amd64 .

$ docker run --rm --name x86-ubuntu test-ubuntu uname -a
Linux 1d6cd365f2e7 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Dockerfile 内で x86 を指定。

$ cat <<EOF > Dockerfile
FROM --platform=linux/amd64 ubuntu
EOF

$ docker build -t test-ubuntu .

$ docker run --rm --name x86-ubuntu test-ubuntu uname -a
Linux 1af3626e8720 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

※参考サイト

  • https://www.publickey1.jp/blog/20/apple_m1docker_desktopcpux86docker.html
  • https://docs.docker.jp/engine/reference/builder.html#from
  • ブログを読んで頂きありがとうございます。誰かの何かの参考になれば幸いです。

    タグ: ,