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]