Podmanは、Linux環境でコンテナーとポッドを開発、管理、およびデプロイするために構築された、無料のオープンソースのデーモンレスコンテナープラットフォームです。ポッドは、通常同じホストシステムにデプロイされるコンテナのグループです。
Podmanは、開発者が依存関係やライブラリとともにアプリケーションをデプロイするために使用する別のコンテナ化プラットフォームであるdockerを徐々に置き換えています。 2つの主な違いは、dockerは起動、有効化、停止、再起動できるデーモンですが、podmanはそうではないということです。 Podmanは、コンテナでの監査ログ機能により、より安全であると見なされています。監査は、コンテナで実行されているプロセスを監視する上で非常に重要な役割を果たします。
それでは、podmanをインストールする方法と、podmanを使用してコンテナを実行および管理する方法について、AからZまで説明します。
CentOS8へのpodmanのインストール
CentOS 8にpodmanをインストールするには、rootユーザーとしてログインし、次のコマンドを実行します。
[[email protected]〜]#dnf install podman
RHEL8へのpodmanのインストール
以下のコマンドを実行して、PodmanをRHEL8システムにインストールします
[[email protected]〜]#dnf module install container-tools -y
インストールプロセスが正常に完了したら、次のコマンドを使用してpodmanのバージョンを確認します。
[[email protected]〜]#podman --versionpodman version 1.0.5 [[email protected]〜]#
以下のコマンドを実行して、podmanシステム情報を表示します
[[メール保護]〜]#podman info
これは、podmanが正常にインストールされたことの確認です。
Podmanを使用してコンテナイメージを検索およびダウンロードする
それでは、ギアをシフトして、podmanで実行できるさまざまな操作を見てみましょう。画像を検索するには、構文を使用します
#podman search image_name
たとえば、Fedora Systemのイメージを検索するには、次のコマンドを実行します。
[[email protected]〜]#podman search fedora
出力には、検索元のレジストリ(この場合はquay.io)と画像の簡単な説明が表示されます。
画像をダウンロードするには、実行するだけです
#podman pull image_name
FedoraとUbuntuの2つの追加画像をダウンロードします
[[email protected]〜]#podman pull fedora [[email protected]〜]#podman pull ubuntu
ダウンロードした画像を表示するには、次のコマンドを実行します。
[[email protected]〜]#podman imagesREPOSITORY TAGIMAGEID作成されたSIZEdocker.io/library/ubuntu] ]#
podmanでコンテナを実行する
画面にメッセージを出力するFedoraイメージを使用してコンテナーを実行するには、次のコマンドを実行します。
[[email protected]〜]#podman run --rm fedora / bin / echo "Hello Geeks!Welcome to Podman" Hello Geeks! Podmanへようこそ[[メール保護]〜]#
注: 上記のコマンドは、メッセージを表示した後にコンテナも削除します。
ubuntuイメージを使用してコンテナを起動します。コンテナ名が「web-ubuntu」であると仮定します
[[email protected]〜]#podman run -dit --name web-ubuntu -p 80:80 ubuntu0ffe7bd1c08d89f4443f3fe81a18163a3d0c52ba53ce834c30643fb4678e8be9 [[email protected]〜]#
上記のpodmanコマンドは、コンテナを起動し、80個のポート要求をpodmanシステムからポート80のWebスペースコンテナにリダイレクトします。
db-spaceという名前のFedoraイメージを使用して、もう1つのコンテナーを起動し、このコンテナーに追加のボリュームを接続します(/ opt / dbspace)
[[email protected]〜]#podman run -dit --name db-space -v / opt / dbspace:/ mnt -p 3306:3306 fedora9fe2ae21ca6373b827db3e965300920b1bc1a9cf19206031f1c8819889e12520 [[email protected]〜]#
上記のpodmanコマンドは、コンテナを起動し、フォルダをボリューム「/ opt / dbspace」としてアタッチし、3306ポート要求をpodmanシステムから3306ポートのdb-spaceコンテナにリダイレクトします。
実行中のコンテナのみを表示するには、以下のpodmanコマンドを実行します。
<前> [[Eメール保護]〜]#podman psCONTAINER CREATED ID画像COMMAND STATUSポートNAMES9fe2ae21ca63 docker.io/library/fedora:latest / binに/ bashの14分前に0.0.0.0:3306->3306/tcp最大14分前db-space0ffe7bd1c08d docker.io/library/ubuntu:latest / bin /bash15分前アップ15分前0.0.0.0:80->80/ tcp web-ubuntu [[email protected]〜]#停止しているか実行中かを問わず、すべてのコンテナを一覧表示するには、次のコマンドを実行します。
分ウィキ-container9fe2ae21ca63前について終了しました(0)前分について<前> [[Eメール保護]〜]#podman PS -aCONTAINER CREATED ID画像COMMAND STATUSポートNAMES22ca547d980f docker.io/library/ubuntu:latest / binに/ bashのdocker.io/library/fedora:latest / bin /bash15分前アップ15分前0.0.0.0:3306->3306/ tcp db-space0ffe7bd1c08d docker.io/library/ubuntu:latest / bin /bash16分前16分前0.0.0.0:80->80/ tcp web-ubuntu [[メール保護]〜]#次のコマンドを実行して、IDを使用してコンテナを検査できます。
[[email protected]〜]#podman inspect 0ffe7bd1c08d
既存のコンテナのシェルプロンプトを取得するには、以下の「 podmanattach」を使用します 」コマンド。この場合、IDを介してdb-spaceコンテナにアクセスするには、コマンドを使用します
#podman attach
[[email protected]〜]#podman attach 9fe2ae21ca63 [[email protected] /]#
コンテナを終了または停止せずにコンテナのシェルプロンプトを終了するには、「 ctrl + p + q」キーを使用します。 」
コンテナのログの表示
特定のコンテナによって生成されたログを表示するには、次の構文を使用します。
#podmanログ
たとえば、
[[メール保護]〜]#podmanログ9fe2ae21ca63
最新のログを表示するには、実行します
[[email protected]〜]#podman logs --latest 9fe2ae21ca63
ログをリアルタイムで表示したい場合は、図のように-fオプションを使用してください
#podmanログ-f
[[email protected]〜]#podman logs -f 9fe2ae21ca63
podmanによるコンテナの削除
コンテナの操作に満足したら、コンテナを削除することを選択できます。ただし、最初に、すべてのコンテナをリストします
[[メール保護]〜]#podman ps -a
単一のコンテナーを削除するには、以下のコマンドに示すように、rmオプションに続けてcontainer-idを使用します。
「wiki-container」を削除したいとします
[[email protected]〜]#podman rm 22ca547d980f22ca547d980f3051d72eb9f475777e31244c78fc038c41e0250c7d5fe44cdbc5 [[email protected]〜]#
注: コンテナが実行中で、停止せずに削除したい場合は、rmとともに-fオプションを使用します。例を以下に示します。
[メール保護]〜]#podman rm 22ca547d980f
podmanでのコンテナポッドの管理
このセクションでは、podmanを使用してポッドを管理する方法について説明します。ポッドは、Kubernetesのセットアップで見られるものと似ています。
ポッド、たとえばwebserverというポッドを作成するには、次のコマンドを実行します。
[[email protected] uxtechi〜]#podman pod create --name webserver920653c492450f295f92036910649542d40b80d10cc95b836acb30eb91a579ef [[email protected]〜]#
ポッドを一覧表示するには、以下のpodmanコマンドを実行します
[[email protected]〜]#podman pod listPOD ID STATUS CREATED #OF CONTAINERS INFRA ID920653c49245 webserver Running新しいポッドを作成すると、インフラと呼ばれるコンテナが含まれていることがわかります。主な目的は、ポッドに関連付けられている名前空間に対応することです。これにより、ポッドが他のコンテナと通信できるようになります。
[[email protected]〜]#podman ps -a --pod
次のコマンドを実行して、コンテナをポッドに追加できます:
[[email protected]〜]#podman run -dt --pod webserver centos:latest top以下のpodmanコマンドを実行して、コンテナがポッドに追加されているかどうかを確認します
[[email protected]〜]#podman ps -a --pod上記の両方のコマンドの出力:
出力は、ポッドへのコンテナの起動に成功したことを確認します。これですべてです。
結論
Podmanは、コンテナ化エコシステムで飛躍的な進歩を遂げており、Dockerに徐々に取って代わられるため、有望に見えます。 Dockerは確かにしばらくの間存在するでしょうが、Podmanの将来が明るく見えることを十分に強調することはできません。このトピックでは、Podmanをインストールして使用してコンテナを実行する方法を学びました
Cent OS