GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 8 /RHEL8でPodmanを使用してコンテナを実行する方法

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
  1. CentOS7およびRHEL7にJenkinsをインストールして構成する方法

  2. CentOS 7 /RHEL7にNginxを使用してphpMyAdminをインストールする方法

  3. CentOS/RHEL 7 で root 以外のユーザーとして rsyslog を実行する方法

  1. CentOS 7 /RHEL7にELKスタックをインストールする方法

  2. RHEL7またはCentOS7をWindowsActiveDirectoryと統合する方法

  3. CentOS 7 / RHEL 7 /Fedora26にVirtualBox5.1をインストールする方法

  1. CentOS 7 /RHEL7でKVMを使用してOpenvSwitchをインストールして使用する方法

  2. CentOS7およびRHEL7サーバーにPHP7.4、7.3、7.2をインストールする方法

  3. RHEL 8 /CentOS8で静的IPアドレスを構成する方法