AlmaLinux 8.6
AlmaLinux 8.6 セットアップメモ
Section 6.1 Podman インストール
About
Podmanというコンテナエンジンがあるということで、Dockerの代わりになるし、サービス形式ではなく必要な時に、必要なだけ動作させるものらしいので開発に向きそうだなということもあり使ってみようということでそれらをセットアップしていろいろやってみようというメモ。
環境は、Section 2.1~Section 2.3で作成したvirtualboxの環境で実行しています。
podmanの確認
container-tools というModule名で管理されているようなのでバージョンを確認します。
[root@localhost ~]# dnf module list container-tools
AlmaLinux 8 - AppStream
Name Stream Profiles Summary
container-tools rhel8 [d] common [d] Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon
, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested
together, and updated as frequently as every 12 weeks.
container-tools 1.0 common [d] Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, et
c as well as dependencies such as container-selinux built and tested together, and su
pported for 24 months.
container-tools 2.0 common [d] Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as
dependencies such as container-selinux built and tested together, and supported as d
ocumented on the Application Stream lifecycle page.
container-tools 3.0 common [d] Stable versions of podman 3.0, buildah 1.19, skopeo 1.2, runc, conmon, etc as well as
dependencies such as container-selinux built and tested together, and supported as d
ocumented on the Application Stream lifecycle page.
container-tools 4.0 common [d] Stable versions of podman 4.0, buildah 1.24, skopeo 1.6, runc, conmon, etc as well as
dependencies such as container-selinux built and tested together, and supported as d
ocumented on the Application Stream lifecycle page.
ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@localhost ~]#
default が12週ごとに更新されるバージョンがデフォルトとか……この記事を書いている時点(2022/09)で、podman公式は4.2.0なのですが、古いものを使っていてもしょうがないのでこのままにします。
インストール
一つ一つ入れるのも面倒なのでまとめてインストール。
[root@localhost ~]# dnf module install container-tools
依存関係が解決しました。
========================================================================================================================
パッケージ Arch バージョン リポジトリー サイズ
========================================================================================================================
group/moduleパッケージをインストール:
buildah x86_64 1:1.26.2-1.module_el8.6.0+3070+1510fbd1 appstream 8.0 M
cockpit-podman noarch 49.1-1.module_el8.6.0+3070+1510fbd1 appstream 523 k
conmon x86_64 2:2.1.2-2.module_el8.6.0+3070+1510fbd1 appstream 54 k
container-selinux noarch 2:2.188.0-1.module_el8.6.0+3070+1510fbd1 appstream 58 k
containernetworking-plugins x86_64 1:1.1.1-3.module_el8.6.0+3070+1510fbd1 appstream 18 M
containers-common x86_64 2:1-35.module_el8.6.0+3070+1510fbd1 appstream 109 k
criu x86_64 3.15-3.module_el8.6.0+2751+06427ca3 appstream 517 k
crun x86_64 1.4.5-2.module_el8.6.0+3070+1510fbd1 appstream 208 k
fuse-overlayfs x86_64 1.9-1.module_el8.6.0+3070+1510fbd1 appstream 72 k
libslirp x86_64 4.4.0-1.module_el8.6.0+2878+e681bc44 appstream 69 k
podman x86_64 2:4.1.1-2.module_el8.6.0+3070+1510fbd1 appstream 12 M
python3-podman noarch 4.0.0-1.module_el8.6.0+2878+e681bc44 appstream 148 k
runc x86_64 1:1.1.3-2.module_el8.6.0+3070+1510fbd1 appstream 3.0 M
skopeo x86_64 2:1.8.0-2.module_el8.6.0+3070+1510fbd1 appstream 6.9 M
slirp4netns x86_64 1.2.0-2.module_el8.6.0+3070+1510fbd1 appstream 53 k
toolbox x86_64 0.0.99.3-0.6.module_el8.6.0+3070+1510fbd1 appstream 2.2 M
udica noarch 0.2.6-4.module_el8.6.0+3070+1510fbd1 appstream 48 k
依存関係のインストール:
(中略)
トランザクションの概要
=================================================================================================
インストール 52 パッケージ
ダウンロードサイズの合計: 62 M
インストール後のサイズ: 212 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(中略)
完了しました!
[root@localhost ~]#
まずはインストールまで。 podmanのバージョンについてはリストに出ているので確認してください。 この記事ではこれを書いている時点のバージョンなので、実行している時期次第では異なるバージョンになっている可能性は十分にあります。
動作確認
インストールできてしまえばrootで実行する必要もないので、vagrantユーザで動作確認します。
とりあえず、podman のマスコットを表示するだけのコンテナがあるのでそれを動かしてみましょう。
[vagrant@localhost ~]$ podman run quay.io/podman/hello
Trying to pull quay.io/podman/hello:latest...
Getting image source signatures
Copying blob aee378b0a68c done
Copying config 6b99125607 done
Writing manifest to image destination
Storing signatures
!... Hello Podman World ...!
.--"--.
/ - - \
/ (O) (O) \
~~~| -=(,Y,)=- |
.---. /` \ |~~
~/ o o \~~~~.----. ~~
| =(X)= |~ / (O (O) \
~~~~~~~ ~| =(Y_)=- |
~~~~ ~~~| U |~~
Project: https://github.com/containers/podman
Website: https://podman.io
Documents: https://docs.podman.io
Twitter: @Podman_io
[vagrant@localhost ~]$
とりあえずコンテナが実行できることがわかりました。
コンテナの状態を確認しつつ、削除する
まずは、実行/停止中のコンテナリストを表示してみます。
[vagrant@localhost ~]$ podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
728bb98bb565 quay.io/podman/hello:latest /usr/local/bin/po... 3 minutes ago Exited (0) 3 minutes ago wizardly_chatelet
[vagrant@localhost ~]$
hello は表示して止まってしまったので、これを削除します。
NAMES か CONATINER ID を使って消します。どちらも実行毎に変わるのでコマンドは自分で読み替えてください。
[vagrant@localhost ~]$ podman rm wizardly_chatelet
728bb98bb56557c107d2ff60f2c37d923a2443aff15cfb377b71069541389ab6
[vagrant@localhost ~]$
更に、image もダウンロードしているのでそれも削除します。これもIMAGE IDを使うのでリストで確認します。
[vagrant@localhost ~]$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/podman/hello latest 6b99125607f5 9 hours ago 82.1 kB
[vagrant@localhost ~]$
削除コマンドで消します。
[vagrant@localhost ~]$ podman rmi 6b99125607f5
Untagged: quay.io/podman/hello:latest
Deleted: 6b99125607f5ad49e19b12cc8908c59751d31d996ef61ab10f3154846edb9241
[vagrant@localhost ~]$
これで動作確認していたものを削除できました。