4.21. コンテナー
Podman は、zstd で圧縮されたイメージのプルとプッシュをサポートする
zstd 形式で圧縮されたイメージをプルおよびプッシュできます。zstd 圧縮は、gzip よりも効率的で高速です。イメージのプルとプッシュに関連するネットワークトラフィックとストレージの量を削減できます。
Jira:RHELPLAN-154314[1]
Podman の Quadlet が利用可能になる
Podman v4.6 以降では、Quadlet を使用して、コンテナーの説明から systemd サービスファイルを自動的に生成できます。Quadlets は、関連するコンテナーの詳細に焦点を当てて説明しており、systemd でコンテナーを実行するという技術的な複雑さを考慮していないため、podman generate systemd コマンドよりも使いやすい可能性があります。
詳細は、Quadlet upstream documentation および Make systemd better for Podman with Quadlet の記事を参照してください。
Jira:RHELPLAN-154432[1]
Container Tools パッケージが更新される
Podman、Buildah、Skopeo、crun、runc ツールを含む、更新された Container Tools RPM メタパッケージが利用可能になりました。この更新では、以前のバージョンに対する一連のバグ修正と機能拡張が適用されます。
Podman v4.6 の注目すべき変更点は次のとおりです。
-
podman kube playコマンドは、Pod のコンテナー内で使用される環境変数を Kubernetes YAML ファイルに提供する--configmap=<path>オプションをサポートするようになりました。 -
podman kube playコマンドは、--configmapオプション用の複数の Kubernetes YAML ファイルをサポートするようになりました。 -
podman kube playコマンドは、liveness プローブ内の containerPort 名とポート番号をサポートするようになりました。 -
podman kube playコマンドは、ctrName をエイリアスとして Pod ネットワークに追加するようになりました。 -
podman kube playおよびpodman kube generateコマンドは、SELinux ファイルタイプラベルと ulimit アノテーションをサポートするようになりました。 -
指定された名前のシークレットが存在するかを検証する、新しいコマンド
podman secret existsが追加されました。 -
podman create、podman run、podman pod create、およびpodman pod cloneコマンドは、新しいオプション--shm-size-systemdをサポートするようになりました。これにより、systemd 固有のマウントの tmpfs サイズを制限できるようになります。 -
podman createおよび podman run コマンドは、新しいオプション--security-opt label=nestedをサポートするようになりました。これにより、制限されたコンテナー内で SELinux のラベル付けが可能になります。 - Podman は、Pod 内で実行されているコンテナーの自動更新をサポートするようになりました。
-
Podman は、安定性を高めるために SQLite データベースをバックエンドとして使用できるようになりました。デフォルトは BoltDB データベースのままです。データベースを選択するには、
containers.confファイルのdatabase_backendフィールドを設定します。 -
Podman は、コンテナーの説明から
systemdサービスファイルを自動的に生成する Quadlets をサポートするようになりました。この説明では、関連するコンテナーの詳細に焦点を当てており、systemdでコンテナーを実行する際の技術的な複雑さは隠しています。
注目すべき変更点の詳細は、アップストリームのリリースノート を参照してください。
Jira:RHELPLAN-154438[1]
Podman が Podmansh ログインシェルをサポートするようになる
Podman v4.6 以降、Podmansh ログインシェルを使用して、ユーザーアクセスと制御を管理できるようになりました。標準のシェルコマンド (/usr/bin/bash など) の代わりに、/usr/bin/podmansh コマンドをログインシェルとして使用するように設定します。ユーザーがシステムセットアップにログインすると、podmansh コマンドはユーザーのセッションを podmansh という名前の Podman コンテナー内で実行します。ユーザーがログインするコンテナーは、/etc/containers/systemd/users/ ディレクトリーに作成される Quadlet ファイルを使用して定義されます。これらのファイルで、[Container] セクションの ContainerName フィールドを podmansh に設定します。systemd は、ユーザーセッションの開始時に podmansh を自動的に起動し、すべてのユーザーセッションが終了するまで実行を続けます。
詳細は、Podman v4.6.0 Introduces Podmansh: A Revolutionary Login Shell を参照してください。
Jira:RHELPLAN-163003[1]
Fulcio および Rekor を使用した sigstore 署名のクライアントが利用可能になる
Fulcio および Rekor サーバーを使用すると、秘密鍵を手動で管理する代わりに、OpenID Connect (OIDC) サーバー認証に基づく短期証明書を使用して署名を作成できるようになりました。以前はテクノロジープレビューとして利用可能であった、Fulcio および Rekor を使用した sigstore 署名のクライアントが、完全にサポートされるようになりました。この追加機能はクライアント側のサポートのみであり、Fulcio サーバーや Rekor サーバーは含まれません。
policy.json ファイルに fulcio セクションを追加します。コンテナーイメージに署名するには、podman push --sign-by-sigstore=file.yml または skopeo copy --sign-by-sigstore=file.yml コマンドを使用します。ここで、file.yml は sigstore 署名パラメーターファイルです。
署名を検証するには、policy.json ファイルに fulcio セクションと rekorPublicKeyPath または rekorPublicKeyData フィールドを追加します。詳細は、containers-policy.json の man ページを参照してください。
Jira:RHELPLAN-160660[1]
pasta ネットワーキングモードが利用可能になる
Podman v4.4.1 以降、pasta ネットワークモードを使用できるようになりました。これは、デフォルトのネットワークモード slirp4netns の高性能な代替品であり、IPv6 転送をサポートします。pasta ネットワークモードを選択するには、passt パッケージをインストールして、--network=pasta オプションを指定して podman run コマンドを使用します。Podman v4.6 では、[network] セクションの default_rootless_network_cmd フィールドを使用して、/etc/containers/containers.conf 設定ファイルでデフォルトのルートレスネットワークモードを設定できます。
Jira:RHELDOCS-16240[1]
UBI 9 Micro Container Image には、tzdata によってインストールされた zoneinfo が含まれなくなる
この更新により、tzdata パッケージによって提供されるタイムゾーン情報が UBI 9 Micro Container Image に含まれなくなり、その結果イメージサイズが縮小されます。UBI 9 Minimal Container と UBI 9 Micro Container は UTC のみであり、ユーザーは必要に応じて tzdata パッケージを再インストールして完全な zoneinfo を取得する必要があります。