はじめに
諸処の事情でDocker desktopをいれることができなくなったので、podmanで代用することにしました。
導入自体は先達のみなさまのおかげでさくっとできましたが、CPUのアーキテクチャーで躓きました。
その備忘録です。
podomanのインストール
brewを使ってのインストール
$ brew install podman
podman導入の確認
$ podman -v
podman version 4.0.2
podman machineの導入
$ podman machine init
podmanのmachineの起動
$ podman machine start
(略)
Machine "podman-machine-default" started successfully
(Op)podmanのmachineのリスト
$ podman machine list
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE
podman-machine-default* qemu 10 days ago Currently running 1 2.147GB 107.4GB
(op)podman machineの停止
$ podman machine stop
CPUアーキテクチャーの違いによる躓き
Dockerfileからコンテナイメージをbuildし、、、buildはできたのですが、コンテナを動かすとエラーがでるのです。。。
intel系(Linux)のSW(このときはocコマンド)をコンテナイメージに導入するときに、以下のようなエラーが出て使えません。
$ podman exec -it <コンテナID> bash
bash-4.4$ oc
bash: /usr/local/bin/oc: cannot execute binary file: Exec format error
理由はCPUがintelではないから、ということがわかりました。
そのため、podman machineにrpm-ostreeコマンドでqemu-user-staticを導入し、build時にオプションをつけています。
podman machineへ追加機能の導入
podman machine ssh sudo rpm-ostree install qemu-user-static
podman machineの再起動
podman machine ssh sudo systemctl reboot
container imageのbuild
--platform linux/amd64
をオプションとして追加
podman build --platform linux/amd64 -t <docker-image名> .