3 Podmanイメージ
Podmanを使用して、コンテナおよびポッドの開始に使用できるイメージを検索、プル、レビューおよび管理します。
コンテナ・イメージとは、コンテナの生成に使用する読取り専用テンプレートのことです。 このイメージには、サービスまたはアプリケーションの実行に必要なすべての要件が含まれています。 イメージのスコープは、限定的に設定できます。たとえば、Webサーバー・アプリケーションなどの単一のサービスをホストするように設定できます。 または、最小限のOracle Linuxリリースなど、基本的なOS環境を含めるのに十分な拡張性があるイメージもあります。
イメージにタグ付けして、同じイメージの異なるバージョンを識別できます。 一部のイメージには、Podmanユーザーが最新バージョンのイメージを識別できるように、latestというデフォルト・タグが含まれる場合がありますが、本番環境で使用することは、変更の破損やソフトウェア・デプロイメント間の予期しない変動が発生する可能性があるため、悪い方法とみなされます。 Oracle Linuxイメージは、latestタグを提供しません。 詳細は、「Oracle Linuxコンテナ・イメージのタグ付け規則」を参照してください。
多くの場合、イメージはコンテナ・レジストリでホストされます。Podmanのインスタンスは特定のイメージ・バージョンを取得するために、このレジストリにHTTP/Sでアクセスできます。 レジストリの詳細は、コンテナ・レジストリを参照してください。
既存のイメージを変更したり、カスタム・イメージを作成するには、Buildahユーティリティを使用します。 詳細は、Buildahを参照してください。
コンテナ・レジストリ内のイメージの検索
podman searchコマンドを使用して、Oracle Linuxシステムで構成されているコンテナ・レジストリ内のコンテナ・イメージの検索を実行します。
podman searchコマンドの詳細は、podman-search(1)マニュアル・ページを参照してください。
Podmanで使用するコンテナ・レジストリの構成方法の詳細は、コンテナ・レジストリを参照してください。
例3-1コンテナ・イメージのコンテナ・レジストリの検索
oraclelinuxイメージの構成済レジストリを検索します:
podman search oraclelinux
出力は次のようになります:
NAME DESCRIPTION
container-registry.oracle.com/os/oraclelinux Oracle Linux
docker.io/library/oraclelinux Official Docker builds of Oracle Linux.
docker.io/amd64/oraclelinux Official Docker builds of Oracle Linux.
docker.io/litmusimage/oraclelinux
docker.io/arm64v8/oraclelinux Official Docker builds of Oracle Linux.
...
コンテナ・レジストリからのイメージのプル
podman pullコマンドを使用して、コンテナ・レジストリからコンテナ・イメージのコピーをプルします。
イメージが見つかったら、podman pullコマンドを使用してそのコピーをダウンロードし、イメージ参照を次のように指定します。
podman pull registry.host/repository/image_name:tag
-
registry.hostドメインは、
example.comなど、イメージがホストされているレジストリの解決可能なホスト名です。 レジストリ・ホストは多くの場合必要ですが、レジストリがPodman構成内にすでにリストされている場合は、この値を指定することはオプションです。 -
repository値はオプションであり、イメージがレジストリにどのように格納されるかによって異なります。
-
ダウンロードするコンテナ・イメージを指定するには、image_name値が必要です。
-
tagはイメージのバージョンを表し、これを指定することをお勧めします。 タグが指定されていない場合、多くのツールではデフォルトで
latestタグが使用されますが、これはエラーにつながる可能性があり、悪い方法とみなされます。 タグの詳細とlatestタグが信頼できない理由は、「Oracle Linuxコンテナ・イメージのタグ付け規則」を参照してください。
一般的に使用される一部のコンテナ・イメージ名のレジストリおよびリポジトリへのショートカットは、/etc/containers/registries.conf.d/000-shortnames.confに格納されます。 これらのショートカットを使用すると、検索するレジストリやリポジトリを知らなくてもイメージをプルできます。次に例を示します。
コンテナ・イメージは、ローカル・コンテナ・イメージ・ストアにダウンロードされます。 このストレージの詳細は、Podmanストレージを参照してください。
podman pullコマンドの詳細は、podman-pull(1)マニュアル・ページを参照してください。
例3-2 Oracle Container Registryからのイメージのプル
Oracle Container RegistryからスリムなOracle Linux 9コンテナ・イメージをプルします:
podman pull container-registry.oracle.com/os/oraclelinux:9-slim
出力は次のようになります:
Trying to pull container-registry.oracle.com/os/oraclelinux:9-slim...
Getting image source signatures
Copying blob 60539f6b41ad done |
Copying config 46cfa93e02 done |
Writing manifest to image destination
46cfa93e021dd2ca65c70112d8d578484c3a9be71d4b05af6c027d4b7ae43182
Oracle Container RegistryはデフォルトでPodmanで使用するように構成されているため、前のコマンドを次のように指定することもできます。
podman pull os/oraclelinux:9-slim
例3-3短縮名を使用したイメージのプル
イメージの短縮名を使用して、Oracle Container RegistryからスリムなOracle Linux 9コンテナ・イメージをプルします:
podman pull oraclelinux:9-slim
イメージの調査
コンテナ・イメージをダウンロードした後、podman inspectコマンドを使用して、コンテナ・イメージ・メタデータおよびデフォルトの構成設定を確認します。
podman inspectコマンドの詳細は、podman-inspect(1)マニュアル・ページを参照してください。
例3-4コンテナ・イメージの検査
スリムなOracle Linux 9コンテナ・イメージを確認します:
podman inspect container-registry.oracle.com/os/oraclelinux:9-slim
このコマンドは、同様のJSON出力を提供し、次のようになります。
[
{
"Id": "46cfa93e021dd2ca65c70112d8d578484c3a9be71d4b05af6c027d4b7ae43182",
"Digest": "sha256:58c00a82b6a523256ecbeefc0f4dfdda11c460c1a2b5bf5ec1288fa0bb2fad68",
"RepoTags": [
"container-registry.oracle.com/os/oraclelinux:9-slim"
],
"RepoDigests": [
"container-registry.oracle.com/os/oraclelinux@sha256:58c00a82b6a523256ecbeefc0f4dfdda11c460c1a2b5bf5ec1288fa0bb2fad68",
"container-registry.oracle.com/os/oraclelinux@sha256:c7ba887b97ed69de05320f5b558c4dc42805194814935fa5ba329e6f6384e06e"
],
"Parent": "",
"Comment": "",
"Created": "2025-07-01T21:09:11.79180435Z",
"Config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/bash"
],
"Labels": {
"io.buildah.version": "1.33.11"
}
},
"Version": "",
"Author": "",
"Architecture": "amd64",
"Os": "linux",
"Size": 116893435,
"VirtualSize": 116893435,
"GraphDriver": {
"Name": "overlay",
"Data": {
"UpperDir": "/home/opc/.local/share/containers/storage/overlay/d62ccb1665e5b7444fa53147fd18e2a7989fff5f330480711e62445a6443ca92/diff",
"WorkDir": "/home/opc/.local/share/containers/storage/overlay/d62ccb1665e5b7444fa53147fd18e2a7989fff5f330480711e62445a6443ca92/work"
}
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:d62ccb1665e5b7444fa53147fd18e2a7989fff5f330480711e62445a6443ca92"
]
},
"Labels": {
"io.buildah.version": "1.33.11"
},
"Annotations": {},
"ManifestType": "application/vnd.docker.distribution.manifest.v2+json",
"User": "",
"History": [
{
"created": "2025-07-01T21:09:10.947182529Z",
"created_by": "/bin/sh -c #(nop) ADD file:6bff5a6139bdf95b00802c939bfcb5e9b8c2324a854e6124b95d3312f3428158 in / "
},
{
"created": "2025-07-01T21:09:11.791909449Z",
"created_by": "/bin/sh -c #(nop) CMD [\"/bin/bash\"]",
"comment": "FROM 45b3741d0ae8",
"empty_layer": true
}
],
"NamesHistory": [
"container-registry.oracle.com/os/oraclelinux:9-slim"
]
}
]
ローカル・イメージのリスト
podman imagesコマンドを使用して、ローカルに格納されているコンテナ・イメージのリストを確認します。
podman imagesコマンドの詳細は、podman-images(1)マニュアル・ページを参照してください。
例3-5ローカル・コンテナ・イメージのリスト
コンテナ・レジストリからすでにダウンロードされているすべてのローカルに格納されているコンテナ・イメージをリストします
podman images
このコマンドは、次のような出力を提供します。
REPOSITORY TAG IMAGE ID CREATED SIZE
container-registry.oracle.com/os/oraclelinux 9-slim 46cfa93e021d 5 days ago 117 MB
ローカル・イメージの削除
podman rmiコマンドを使用して、ローカルに格納されているコンテナ・イメージを削除します。
コンテナ・イメージがコンテナによってまだ使用されている場合、そのコンテナが実行されていない場合でも、そのコンテナ・イメージは削除できません。 コンテナ・イメージを削除する前に、そのコンテナ・イメージに依存するすべてのコンテナを削除する必要があります。
podman rmiコマンドの詳細は、podman-rmi(1)マニュアル・ページを参照してください。
例3-6ローカル・コンテナ・イメージの削除
ローカルに格納されているoraclelinux:9-slimという名前のイメージを削除します。
podman rmi oraclelinux:9-slim
このコマンドは、次のような出力を提供します。
Untagged: container-registry.oracle.com/os/oraclelinux:9-slim
Deleted: 46cfa93e021dd2ca65c70112d8d578484c3a9be71d4b05af6c027d4b7ae43182