3.20. コンテナー
Podman が zstd:chunked で圧縮されたイメージのプッシュとプルをサポートするようになる
zstd:chunked 形式で圧縮されたイメージをプッシュしてイメージサイズを縮小し、部分的なプルを使用できます。
Container Tools パッケージが更新される
Podman、Buildah、Skopeo、crun、runc ツールを含む、更新された Container Tools RPM メタパッケージが利用可能になりました。Buildah はバージョン 1.39.0 に更新され、Skopeo はバージョン 1.18.0 に更新されました。Podman v5.4 には、以前のバージョンに対する次の注目すべきバグ修正と機能拡張が含まれています。
-
podman updateコマンドが、ヘルスチェックに関連するさまざまなオプションをサポートするようになりました。新しいヘルスチェックを定義する--health-cmdや、既存のヘルスチェックを無効にする--no-healthcheckなどです。これらのオプションを使用すると、実行中のコンテナーのヘルスチェックを簡単に追加、変更、または無効化できます。詳細は、podman-update(5)man ページを参照してください。 -
podman run、podman create、およびpodman volume createコマンドの--mount type=volumeオプションは、コンテナー内のボリュームのサブセットのみを表示する新しいオプションsubpath=をサポートするようになりました。 -
podman run、podman create、およびpodman pod createコマンドの--userns=keep-idオプションは、ユーザー名前空間のサイズを設定するための新しいオプション--userns=keep-id:size=をサポートするようになりました。 -
podman kube playコマンドは、Container Device Interface (CDI) デバイスをサポートするようになりました。 -
podman run、podman create、podman pod createコマンドは、コンテナー内の/etc/hostsに使用されるベースファイルを定義する新しいオプション--hosts-fileをサポートするようになりました。 -
podman run、podman create、podman pod createコマンドは、コンテナー内の/etc/hostnameの作成を無効にする新しいオプション--no-hostnameをサポートするようになりました。 -
podman network createコマンドは、ブリッジネットワークの新しいオプション--opt mode=unmanagedをサポートするようになりました。これにより、Podman はシステム上の既存のネットワークブリッジを変更せずに使用できるようになります。 -
podman run、podman create、およびpodman pod createの--networkオプションは、ブリッジネットワークの新しいオプションhost_interface_nameを受け入れるようになりました。これは、コンテナーの外部に作成されたネットワークインターフェイスの名前を指定します。 -
podman manifest rmコマンドは、存在しないマニフェストを削除するときに正常に続行するための新しいオプション--ignoreをサポートするようになりました。 -
podman system pruneコマンドは、途中で終了したビルドから残ったビルドコンテナーを削除するための新しいオプション--buildをサポートするようになりました。 - Podman はコンテナーのホスト名を Netavark に渡し、Netavark はそれをコンテナーの DHCP 要求に使用します。
-
パッケージ作成者は、Makefile から podman をビルドするときに
BUILD_ORIGIN環境変数を設定できるようになりました。これにより、Podman バイナリーをビルドしたユーザーに関する情報が提供され、この情報はpodman versionコマンドとpodman infoコマンドに表示されます。この情報を含めることで、メンテナーによるビルドとインストールのソースと方法の特定に役立ち、バグ報告を支援できます。 -
podman kube generateコマンドとpodman kube playコマンドで、Kubernetes Job YAML を作成して実行できるようになりました。 -
podman kube generateコマンドには、生成された YAML 内の Pod とコンテナーのユーザー名前空間に関する情報が含まれるようになりました。podman kube playコマンドは、この情報を使用して、YAML に基づいて新しい Pod を作成するときにユーザー名前空間設定を複製します。 -
podman kube playコマンドは、Kubernetes ボリュームのイメージタイプをサポートするようになりました。 -
Quadlet によって生成される
systemdユニットのサービス名は、サポートされているすべての Quadlet ファイルのServiceNameキーを使用して設定できるようになりました。 -
Quadlet は、すべての Quadlet ファイルでサポートされている新しいキー
DefaultDependenciesを使用して、network-online.targetへの暗黙的な依存関係を無効にできるようになりました。 -
Quadlet
.containerファイルと.podファイルでは、コンテナーまたは Pod にホストを追加するための新しいキーAddHostがサポートされるようになりました。 -
Quadlet
.containerおよび.podファイル内のPublishPortキーの値に変数が受け入れられるようになりました。 -
Quadlet
.containerファイルでは、コンテナーのコントロールグループを設定し、コンテナーが属する Pod で起動されるかどうかを設定する 2 つの新しいキー (CgroupsModeとStartWithPod) がサポートされるようになりました。 -
Quadlet
.containerファイルは、Network キー内で共有するコンテナーの.containerファイルを指定することにより、別のコンテナーのネットワークを使用できるようになりました。 -
Quadlet
.containerファイルでは、.imageターゲットを指定したMount=type=imageキーを使用して、.imageファイルによって管理されるイメージをコンテナーにマウントできるようになりました。 -
Quadlet
.podファイルでは、Pod のDNS、静的 IP、およびユーザー名前空間設定を設定するための 6 つの新しいキー (DNS、DNSOption、DNSSearch、IP、IP6、UserNS) がサポートされるようになりました。 -
Quadlet
.imageファイルでは、ImageTagキーを複数回指定することで、イメージを複数回提供できるようになりました。 -
Quadlet を、
/run/containers/systemdディレクトリーや、$HOME/containers/systemdや/etc/containers/systemd/usersなどの既存のディレクトリーに配置できるようになりました。 - Quadlet は、シンボリックリンクであるユニットディレクトリーのサブディレクトリーを適切に処理するようになりました。
-
podman manifest inspectコマンドの出力にマニフェストのアノテーションが含まれるようになりました。 -
podman create、podman run、podman pod createの--add-hostオプションでは、セミコロンで区切られた複数のホスト名の指定をサポートするようになりました (例:podman run --add-host test1;test2:192.168.1.1)。 -
podman runコマンドとpodman createコマンドが、ヘルスチェックのロギングを設定するための 3 つの新しいオプションをサポートするようになりました。具体的には、--health-log-destination(ログを保存する場所を指定)、--health-max-log-count(ヘルスチェックのログがいくつ保存されるかを指定)、および--health-max-log-size(ヘルスチェックログの最大サイズを指定) です。
重要な変更の詳細は、アップストリームのリリースノート を参照してください。
強化されたヘルスチェック出力設定が Podman で利用可能になる
Podman で、コンテナーごとのヘルスチェック出力の設定機能が強化されました。この更新前は、ヘルスチェックの出力は直近の 5 回の実行に制限されていました。出力はそれぞれ 500 文字に制限されており、アクセスするには podman inspect コマンドを使用する必要がありました。各コンテナーに保存されるヘルスチェック出力の量を調整して、必要に応じてより包括的なデバッグ情報を取得できるようになりました。この機能は、実行中のサービスを中断せずに断続的なヘルスチェックの失敗を診断する場合に特に役立ちます。さらに、機密データやストレージ効率に関する懸念に対処するために、特定のコンテナーのヘルスチェック出力ストレージを制限または無効にすることもできます。
詳細は、podman-update man ページを参照してください。
Jira:RHEL-60561[1]
コンテナーイメージを単一のコマンドでデプロイできるようになる
単一のコマンドを使用して、コンテナーイメージを RHEL クラウドインスタンスにデプロイできます。system-reinstall-bootc コマンドは、次のアクションを実行します。
- 提供されたイメージをプルして、SSH キーをセットアップしたり、システムにアクセスしたりする。
-
すべてのバインドマウントおよび SSH キーを設定して、
bootc install to-existing-rootコマンドを実行する。
Jira:RHELDOCS-19516[1]
カスタム bootc イメージをゼロから作成することがサポート対象となる
bootc イメージをゼロから作成し、イメージの内容を完全に制御し、特定の要件を満たすようにシステム環境をカスタマイズできます。bootc-base-imgectl コマンドを使用すると、既存の bootc ベースイメージに基づいてカスタム bootc イメージを作成できます。Bootc Image from Scratch はコンテナーイメージから派生しており、デフォルトのベースイメージからの更新を自動的に受信しません。このような更新を含めるには、コンテナーパイプラインの一部として手動で組み込む必要があります。さらに、bootc コンテナーイメージの bootc-base-imgectl の rechunk サブコマンドを使用して、必要に応じてイメージを最適化または再ビルドできます。
Jira:RHELDOCS-19825[1]
新しいイメージビルドの進行状況バーが bootc-image-builder で利用可能になる
以前は、ログを調べることで、イメージのビルドが進行中であるかどうかを確認できませんでした。今回の機能拡張により、bootc-image-builder を使用して作成したイメージビルドの進捗を確認できるようになりました。イメージのビルド時に --progress=verbose 引数を使用して以前の動作に戻すことができます。
Jira:RHELDOCS-20170[1]