📝

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

に公開

(apple-x86-docker-1009514222.png)

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

※参考サイト

Discussion