4.23. コンテナー

Podman が、セキュアな短縮名に対応

イメージの短縮名のエイリアスは、[aliases] テーブルの registries.conf ファイルに設定できるようになりました。short-names モードは以下のようになります。

  • Enforcing:イメージのプル中に一致するエイリアスが見つからない場合、Podman はユーザーが非修飾レジストリーのいずれかを選択するよう求めます。選択したイメージを正常に取得すると、Podman は、$HOME/.cache/containers/short-name-aliases.conf ファイル (ルートレスユーザー) および /var/cache/containers/short-name-aliases.conf (root ユーザー) に新しい短縮名のエイリアスを自動的に記録します。ユーザーを要求できない場合 (stdin や stdout など) が TTY ではない場合は、Podman は失敗します。short-name-aliases.conf ファイルは、両方が同じエイリアスを指定する場合、registries.conf ファイルよりも優先されることに注意してください。
  • Permissive:enforcing モードと似ていますが、ユーザーにプロンプトが表示されないと Podman は失敗しません。代わりに、Podman は指定された順序で修飾されていないすべてのレジストリーを検索します。エイリアスは記録されないことに注意してください。

例:

unqualified-search-registries=["registry.fedoraproject.org", "quay.io"]

[aliases]

"fedora"="registry.fedoraproject.org/fedora"

(JIRA:RHELPLAN-74542)

container-tools モジュールの変更

container-tools モジュールには、Podman、Buildah、Skopeo、runc の各ツールが含まれています。RHEL8 では container-tools:rhel8 というストリームで表現されるローリングストリームは、RHEL9 では container-tools:latest という名前になっています。RHEL 8 と同様に、コンテナーツールの安定版は、番号付きのストリームで提供される予定です (例えば、3.0)。

Container Tools Application Stream については、Container Tools AppStream - Content Availability を参照してください。

(JIRA:RHELPLAN-73678)

containers-common が利用可能に

containers-common パッケージが container-tools:latest に追加されました。containers-common パッケージには、Podman、Buildah、Skopeo などのコンテナーツールのエコシステムに関する一般的な設定ファイルおよびドキュメントが含まれています。

(JIRA:RHELPLAN-77549)

新しいパッケージでコンテナーイメージの更新

たとえば、registry.access.redhat.com/rhel9 コンテナーイメージを最新のパッケージで更新するには、以下のコマンドを使用します。

# podman run -it registry.access.redhat.com/rhel9
# dnf update -y && rm -rf /var/cache/dnf

特定の <package> をインストールするには、以下のコマンドを実行します

# dnf install <package>

詳細は、Adding software to a running UBI container を参照してください。

RHEL 9 では、イメージに新しいパッケージを更新またはインストールするには、使用する権利があるホストで実行している必要があります。Red Hat Enterprise Linux Developer Subscription for Individuals を使用すると、使用する権利のあるリポジトリーに無料でアクセスできます。

詳細は、No-cost Red Hat Enterprise Linux Individual Developer Subscription:FAQs を参照してください。

(JIRA:RHELPLAN-84168)

container-tools メタパッケージが更新された

Podman、Buildah、Skopeo、および runc ツールを含む container-tools RPM メタパッケージが利用できるようになりました。今回の更新で、以前のバージョンに対するバグ修正および機能拡張のリストが追加されました。

(JIRA:RHELPLAN-118914)

これで、podman-py パッケージが利用可能に

podman-py パッケージが、container-tools:3.0 安定モジュールストリームおよび container-tools:latest モジュールに追加されました。podman-py パッケージは、Podman の RESTful API を使用するバインディングのライブラリーです。

(BZ#1975462)

コントロールグループバージョン 2 が利用可能に

以前のバージョンのコントロールグループ cgroups バージョン 1 (cgroups v1) では、さまざまなアプリケーションでパフォーマンスの問題が発生しました。コントロールグループの最新リリースである cgroups バージョン 2 (cgroups v2) により、システム管理者はパフォーマンスの問題を発生させずに、どのアプリケーションのリソースも制限できます。

この新しいバージョンのコントロールグループ cgroups v2 は RHEL 8 で有効にでき、RHEL 9 のデフォルトで有効になっています。

(JIRA:RHELPLAN-73697)

container-tools メタパッケージが利用可能に

container-tools RPM メタパッケージには、Podman、Buildah、Skopeo、CRIU、Udica、および必要なすべてのライブラリーが含まれており、RHEL 9 で利用できます。安定したストリームは RHEL 9 では利用できません。Podman、Buildah、Skopeo などへの安定したアクセスを受けるには、RHEL EUS サブスクリプションを使用します。

container-tools meta-package をインストールするには、以下を入力します。

# dnf install container-tools

(BZ#2000871)

カーネルにおけるオーバーレイファイルシステムのネイティブサポートが利用可能

オーバーレイファイルシステムのサポートがカーネル 5.11 から利用可能になりました。非ルートユーザーは、ルートレスで (ユーザーとして) 実行しても、ネイティブなオーバーレイ性能を発揮します。従って、この機能強化により、バインドマウントを必要とせずにオーバーレイファイルシステムを使用したい非 root ユーザーに、より良いパフォーマンスを提供します。

(JIRA:RHELPLAN-99892)

NFS ストレージが利用可能になりました

ファイルシステムで xattr がサポートされている場合は、NFS ファイルシステムをコンテナーとイメージのバックエンドストレージとして使用できるようになりました。

(JIRA:RHELPLAN-74543)

container-tools メタパッケージが更新された

container-tools メタパッケージには、Podman、Buildah、Skopeo、CRIU、Udica、および必要なすべてのライブラリーが含まれています。今回の更新で、以前のバージョンに対するバグ修正および機能拡張のリストが追加されました。

主な変更点は、以下のとおりです。

  • ネットワークスタックの変更により、Podman v3 以前で作成されたコンテナーは Podman v4.0 では使用できなくなります。
  • ネイティブオーバーレイファイルシステムがルートレスユーザーとして使用できる
  • NFS ストレージがコンテナー内でサポートされるようになった
  • コントロールグループバージョン 2 (cgroup v2) はデフォルトで有効になっています
  • Podman v4 から v3 へのダウングレードは、すべてのコンテナーが破棄されて再作成されない限りサポートされません。

Podman の注目すべき変更点の詳細は、アップストリームのリリースノート を参照してください。

(JIRA:RHELPLAN-99889)

crun コンテナーランタイムがデフォルトになりました。

crun コンテナーランタイムがデフォルトのランタイムになりました。crun コンテナーランタイムは、コンテナーがルートレスユーザーの追加グループにアクセスできるようにするアノテーションをサポートします。これは、setgid が設定されたディレクトリーまたはユーザーがグループアクセスのみを持つディレクトリーにおけるボリュームマウントに役立ちます。crun および runc ランタイムは、どちらも cgroup v2 を完全にサポートします。

(JIRA:RHELPLAN-99890)

コントロールグループバージョン 2 が利用できるようになりました。

以前のバージョンのコントロールグループ cgroups バージョン 1 (cgroup v1) では、さまざまなアプリケーションでパフォーマンスの問題が発生しました。コントロールグループの最新リリースである cgroup バージョン 2 (cgroup v2) により、システム管理者はパフォーマンスの問題を発生させずに、どのアプリケーションのリソースも制限できます。

RHEL 9 では、cgroup v2 がデフォルトで有効になっています。

(JIRA:RHELPLAN-75322)

ユニバーサルベースイメージが Docker Hub で利用可能に

これまでユニバーサルベースイメージは、Red Hat コンテナーカタログからしか入手できませんでした。この機能拡張により、ユニバーサルベースイメージも Docker Hub から 確認済みパブリッシャーイメージ として利用できます。

(JIRA:RHELPLAN-100032)

openssl コンテナーイメージが利用可能になりました

openssl イメージは、OpenSSL 暗号化ライブラリーのさまざまな機能を使用するための openssl コマンドラインツールを提供します。OpenSSL ライブラリーを使用すると、秘密鍵の生成、証明書署名要求 (CSR) の作成、および証明書情報の表示を行うことができます。

openssl コンテナーイメージは、次のリポジトリーで利用できます。

  • registry.redhat.io/rhel9/openssl
  • registry.access.redhat.com/ubi9/openssl

(JIRA:RHELPLAN-100034)

Netavark ネットワークスタックが利用可能になりました。

Netavark スタックは、コンテナーのネットワーク設定ツールです。RHEL 9 では、Netavark スタックは完全にサポートされ、デフォルトで有効になっています。

このネットワークスタックには、次の機能があります。

  • ブリッジおよび MACVLAN インターフェイスを含むネットワークインターフェイスの作成、管理、および削除
  • ネットワークアドレス変換 (NAT) やポートマッピングルールなどのファイアウォールの設定
  • IPv4 および IPv6 (IPv4 and IPv6)
  • 複数ネットワークのコンテナー機能の向上

(JIRA:RHELPLAN-101141)

Podman は、YAML ファイルを使用した Pod の自動ビルドと自動実行をサポートするようになりました

podman play kube コマンドは、YAML ファイルを使用して、Pod 内に複数のコンテナーを持つ複数の Pod を自動的にビルドして実行します。

(JIRA:RHELPLAN-108830)

Podman は、IdM から subUID および subGID の範囲を取得できるようになりました。

subUID と subGID の範囲を IdM で管理できるようになりました。同じ /etc/subuid ファイルおよび/etc/subgid ファイルをすべてのホストにデプロイする代わりに、単一の中央ストレージで範囲を定義できるようになりました。/etc/nsswitch.conf ファイルを変更し、services: files sss のようにサービスマップ行に sss を追加する必要があります。

詳細は、IdM ドキュメントの subID 範囲の手動管理 セクションを参照してください。

(JIRA:RHELPLAN-100020)