公開日:2022/9/25 0:00:00

AlmaLinux 8.6

AlmaLinux 8.6 セットアップメモ

Section 6.1 Podman インストール

About

Podmanというコンテナエンジンがあるということで、Dockerの代わりになるし、サービス形式ではなく必要な時に、必要なだけ動作させるものらしいので開発に向きそうだなということもあり使ってみようということでそれらをセットアップしていろいろやってみようというメモ。

環境は、Section 2.1Section 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 は表示して止まってしまったので、これを削除します。

NAMESCONATINER 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 ~]$

これで動作確認していたものを削除できました。