はじめに
Podmanは、コンテナとイメージを作成、管理、実行するためのオープンソースのLinuxユーティリティです。このツールはDockerに似ており、ユーザーはスタンドアロン(オーケストレーションされていない)コンテナーを実行できますが、デーモンは必要ありません。
PodmanはRedHatによって開発されましたが、他のLinuxディストリビューションでもサポートされています。
このチュートリアルでは、UbuntuにPodmanをインストールして使用する方法を学びます。
前提条件
- Ubuntuを実行しているシステム(macOSユーザー、macOSにPodmanをインストールする方法を参照してください。)
- ターミナルへのアクセス( Ctrl + Alt + T 。
- 管理者権限を持つユーザーアカウント。
UbuntuへのPodmanのインストール
Podmanパッケージは、Ubuntu20.10以降の公式リポジトリで利用できます。古いバージョンのUbuntuでは、インストールする前にKubicリポジトリを追加する必要があります。
ポッドマンをインストールするには、以下の手順に従ってください:
Ubuntu20.10以降にPodmanをインストールする
1.ターミナルを開きます( Ctrl + Alt + T )そして、以下を実行してシステムパッケージリポジトリを更新します:
sudo apt update
2.次のコマンドを使用してPodmanをインストールします。
sudo apt -y install podman
-y
フラグは自動的にyes
に答えます インストール中のプロンプトに表示されます。
Ubuntu20.04以前にPodmanをインストールする
以前のUbuntuバージョン(20.10未満のバージョン)の場合、Podmanをインストールする前にKubicプロジェクトリポジトリを追加します。
以下の手順に従ってください:
1. os-releaseを調達します 適切なリポジトリが追加されていることを確認するためのファイル:
. /etc/os-release
2.次のコマンドを実行して、Kubicリポジトリを追加します。
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
>
symbolは、出力を指定されたファイルにリダイレクトし、リポジトリをシステムファイルに追加します。または、出力をteeコマンドにパイプして、指定したファイルに書き込みます。
2. GPGキーを追加して、パッケージの整合性を確認します。
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/xUbuntu_${VERSION_ID}/Release.key -O- | sudo apt-key add -
2.新しく追加されたリポジトリからの情報でパッケージリポジトリを更新します:
sudo apt update
3. Podmanをインストールします:
sudo apt -y install podman
4.プログラムのバージョンを確認して、インストールを確認します。
podman --version
重要: Ubuntu22.04LTSはKubicパッケージをサポートしなくなりました。 Ubuntu 22.04にアップグレードする前に、Kubicリポジトリからパッケージをアンインストールしてください。
UbuntuでのPodmanの使用
Podmanを使用して、docker.ioやquay.ioなどのリポジトリから画像を検索してプルし、コンテナを実行します。このセクションでは、UbuntuでPodmanを使用するさまざまな例を示します。
画像の検索
次の構文を使用して、使用可能なリポジトリで画像を検索します。
podman search [keyword]
たとえば、 mysqlを検索するには 画像、実行:
podman search mysql
画像のダウンロード
次の構文を使用して画像をダウンロードします。
podman pull [image]
たとえば、次のコマンドは mysqlをプルします リポジトリからの画像:
podman pull mysql
画像が複数のリポジトリで利用できる場合、Podmanはダウンロードする画像を選択するように求めます。
ダウンロードした画像のリスト
次のコマンドを実行して、ダウンロードしたすべての画像を一覧表示します。
podman images
出力には、現在システム上にあるすべての画像と、以下を含む画像の詳細が一覧表示されます。
repository
。オリジンリポジトリ。tag
。画像に関連付けられているタグ。image ID
。各画像の一意の番号。created
。画像の作成日。size
。ディスク上の画像サイズ。
コンテナの作成
ダウンロードしたイメージから新しいコンテナを作成するには、次の構文を使用します。
podman run [options] [image]
たとえば、ダウンロードした mysqlからコンテナを作成するには image、次のコマンドを実行します:
podman run -dit mysql
-
-d
オプションは、デタッチモードを強制し、コンテナをバックグラウンドで実行します。出力は、新しいcontainer ID
のみです。 。 -
-i
を使用します インタラクティブモードを強制し、デタッチモードでも標準入力を開いたままにするオプション。 -
-t
オプションを指定すると、Podmanは疑似TTYを割り当て、コンテナのstdin
にアタッチします。 。このオプションは、stdout
を防ぎます リダイレクト。
コンテナを作成すると、container ID
が出力されます (長い形式)。
利用可能なコンテナのリスト
次のコマンドを実行して、マシン上のすべてのコンテナを確認します:
podman ps -a
-a
フラグは、状態(実行中または停止中)に関係なく、すべてのコンテナーを表示するようにPodmanに指示します。 -a
なしでコマンドを入力してください 実行中のコンテナのみを表示するフラグ。
出力には次の情報が含まれます:
container ID
。各コンテナの一意の番号(短縮形)。image
。コンテナの基になっている画像。command
。コンテナを起動するためのコマンド。created
。コンテナが作成されてからの経過時間。status
。コンテナの稼働時間またはダウンタイム。ports
。転送されたポートが含まれます。names
。コンテナごとにPodmanによって割り当てられた一意の名前。
単一のコンテナを表示するには、container ID
を指定します 。
コンテナからイメージを作成
実行中のmysql
から新しいイメージを作成します コンテナを作成し、次のコマンドを使用してリポジトリにアップロードします:
podman commit --author "phoenixNAP" 6f3aeb480f89
--author
フラグは画像の作成者を設定し、その後にcontainer ID
が続きます 。
この例では、元の画像に変更が加えられていないため、Podmanはこの画像のコミットをスキップします。
コンテナの停止または開始
実行中のコンテナーを停止するには、次の構文を使用します。
podman stop [container-id]
以下を使用してコンテナを起動します:
podman start [container ID]
container ID
を取得します 利用可能なコンテナを一覧表示します。
例:
または、 --latest
を指定して、最新のコンテナを停止または開始します container ID
の代わりにフラグ 。例:
コンテナを削除する
次の構文で既存のコンテナを削除します:
podman rm [container id]
例:
利用可能なすべてのコンテナを一覧表示して、container ID
を取得します 次に、コンテナを削除します。 podman ps -a
を再実行します すべてのコンテナを一覧表示すると、指定したコンテナが削除されたことがわかります。