Podman v4.3.0 リリースノート
Podman v4.3.0がアップストリームでリリースされました。
リリースノートを日本語に翻訳したものを公開します。どんな内容があるのか把握するのにお役立てください。
以下、リリースノート日本語翻訳
4.3.0
機能
- 新しいコマンド
podman generate specが追加され、Podman REST API でコンテナを作成するために使用できる、指定したコンテナに基づいた JSON 構造体が作成されます。 - 新しいコマンド
podman updateが追加され、既存のコンテナのリソース制限を変更できるようになりました。このコマンドは既存のコンテナのリソース制限を変更します。この変更はコンテナを再起動しても保持されないことに注意してください (#15067)。 - 新しいコマンド、
podman kube downが追加され、与えられた Kubernetes YAML で作成された Pod とコンテナを削除します (機能はpodman kube play --downと同じですが、独自のコマンドになりました)。 -
podman kube playコマンドは、Podman の secrets バックエンドを使った Kubernetes secrets をサポートするようになりました。 -
podman kube playコマンドで作成した Systemd-managed pods は、io.containers.sdnotifyアノテーション(特定のコンテナの場合はio.containers.sdnotify/$name)を使って sd-notify と統合できるようになりました。 -
podman kube playで作成した Systemd-managed pods は、io.containers.auto-updateアノテーション (特定のコンテナではio.containers.auto-update/$name) によって自動更新されるようになった。 -
podman kube playコマンドは URL から YAML を読み込めるようになりました。例:podman kube play https://example.com/demo.yml(#14955). -
podman kube playコマンドがemptyDirボリュームタイプをサポートしました (#13309)。 -
podman kube playコマンドは、Pod spec のHostUsersフィールドをサポートするようになりました。 -
podman play kubeコマンドは、ConfigMaps のbinaryDataをサポートするようになりました。 -
podman pod createコマンドは、新しいオプション--memory-swap,--cpuset-mems,--device-read-bps,--device-write-bps,--blkio-weight,--blkio-weight-device, そして--cpu-sharesによって追加のリソース制限を設定できるようになった。 -
podman machine initコマンドは新しいオプション--usernameをサポートし、非 root ユーザーとして VM に接続するために使用するユーザー名を設定できるようになりました (#15402)。 -
podman volume createコマンドの-o timeout=オプションで、ボリュームプラグインの操作がタイムアウトしないことを示す、0 のタイムアウトを設定できるようになりました。 - 新しいボリュームドライバ
imageのサポートが追加されました。 -
podman runとpodman createコマンドは新しいオプション--env-mergeをサポートし、環境変数をイメージ内の他の環境変数と相対的に指定できるようになりました (例:podman run --env-merge "PATH=$PATH:/my/app" ...) (#15288). -
podman runとpodman createコマンドは新しいオプション--on-failureをサポートし、コンテナのヘルスチェックに失敗した時に実行するアクションを指定できるようになりました。none(何もしない、デフォルト)、kill(コンテナを kill) 、restart(コンテナを再起動)、stop(コンテナを停止) です。 -
podman createとpodman runの--keep-idオプションに新しいオプション、uidとgidが加わりました。これはコンテナ内のユーザーの UID と GID を設定して、Podman を実行しているユーザーにマップします (例えば--userns=keep-id:uid=11はコンテナ内の UID 11 に Podman を実行しているユーザーをマップします) (#15294). -
podman generate systemdコマンドは新しいオプション--env/-eをサポートし、生成されるユニットファイルに環境変数を設定できるようになりました (#15523)。 -
podman pauseとpodman unpauseコマンドは--latest,--cidfile,--filterオプションをサポートするようになりました。 -
podman restartコマンドは--cidfileと--filterオプションをサポートするようになりました。 -
podman rmコマンドは--filterオプションをサポートし、どのコンテナを削除するかを選択できるようになりました。 -
podman rmiコマンドは新しいオプション--no-pruneをサポートし、削除されたイメージのぶら下がった親を削除しないようにできるようになりました。 -
podman create,podman run,podman pod createの--dns-optオプションは新しいエイリアス、--dns-optionを受け取り、Docker との互換性を改善しました。 -
podmanコマンドに新しいグローバルフラグ--debug/-Dが追加され、デバッグレベルのロギング (--log-level=debugと同じ) が可能になり、Docker との親和性が向上しました。 -
podmanコマンドに新しいグローバルフラグ、--configが追加されました。このフラグは無視され、Docker との互換性のためにのみ含まれます (#14767)。 -
podman manifest createコマンドに、新しいオプション--amend/-aが追加されました。 -
podman manifest create,podman manifest add,podman manifest pushコマンドは新しいオプション--insecure(--tls-verify=falseと同じ) を受け付けるようになり、Docker との親和性が向上しました。 -
podman secret createコマンドの--driverと--formatオプションに新しいエイリアス、--driverには-dが、--formatには-fが追加されました。 -
podman secret createコマンドは新しいオプション--label/-lをサポートし、作成された secret にラベルを追加できるようになりました。 -
podman secret lsコマンドは--quiet/-qオプションを受け付けるようになりました。 -
podman secret inspectコマンドは新しいオプション、--prettyを受け付けるようになり、人間が読めるフォーマットで出力を行います。 -
podman statsコマンドは--no-truncオプションを受け付けるようになりました。 -
podman saveコマンドは--signature-policyオプションを受け付けるようになりました (#15869)。 -
podman pod inspectコマンドは複数の引数を渡すことができるようになりました。その場合、検査したポッドの JSON 配列を返します (#15674)。 - Docker との互換性を高めるために、既存の
podman system connectionコマンドのエイリアスとして、一連の新しい隠しコマンドがpodman contextの下に追加されました。 - リモート Podman クライアントは、
--sig-proxyオプションを設定すると、アタッチセッションのシグナルのプロキシをサポートするようになりました (#14707).
変更点
-
podman run,podman create,podman pod createの-vオプションで、ソース、宛先、オプションが全て一致する限り、ボリュームの重複マウントが可能になりました (#4217). -
podman generate kubeとpodman play kubeコマンドは、Kubernetes 関連のコマンドをまとめるためにpodman kube generateとpodman kube playに名称が変更されました。古いコマンド名がまだ機能するようにエイリアスが追加されました。 - Podman コマンドの多く (
podman init,podman container checkpoint,podman container restore,podman container cleanup) は、成功時にコンテナ ID ではなく、ユーザーが入力したコンテナ名を表示するようになった。 - cgroups v1 システム上のルートレスコンテナにサポートされていないオプション(リソース制限など)が指定された場合、制限に従わないという警告メッセージが表示されるようになりました。
- Windows Podman クライアントのインストーラが改善されました。
-
podman runとpodman createの--cpu-rt-periodと--cpu-rt-runtimeオプションは cgroups v2 システムでは警告を表示して無視するようになりました (cgroups v2 はこれらのコントローラーをサポートしなくなりました) (#15666). - systemd が動作する特権コンテナは、もはや
/dev/tty以外のデバイスをコンテナにマウントしません (#15878)。 - Pod の一部であるコンテナに対するイベントは、イベントに Pod の ID を含むようになりました。
-
podman machineコマンドの SSH 機能は徹底的に作り直され、認証に関する多くの問題に対処しています。 -
podman kube playの--networkオプションは、YAML が要求していなくても、hostを渡してポッドがホストネットワークを使用するように設定できるようになりました。 - コンテナに対する
podman inspectコマンドは、コンテナの作成に使用されたイメージのダイジェストを含むようになりました。 -
podman play kubeで作成されたポッドは、デフォルトでpodman-kubeという名前のネットワークに配置されるようになりました。podman-kubeネットワークが存在しない場合は、作成されます。このネットワークでは DNS が有効になっているので、ポッド同士が名前で接続できるようになります。
バグフィックス
-
podman network pruneとpodman container pruneコマンドが--filter label!=オプションを適切にサポートしていなかったバグを修正しました (#14182)。 -
podman kube generateコマンドが、生成される YAML に不要なSecret: null行を追加するバグを修正しました (#15156). -
podman kube generateコマンドが、生成される YAML でenableServiceLinksとautomountServiceAccountTokenを false に設定しないバグを修正しました (#15478 および #15243) 。 -
podman kube playコマンドが CPU 制限を適切に扱えないバグを修正しました (#15726)。 -
podman kube playコマンドが liveness probes のデフォルト値を尊重しないバグを修正しました (#15855). -
podman kube playコマンドが、hostPortを指定せずにcontainerPortを指定した場合、ポートをバインドしないバグを修正しました (#15942) -
podman kube playコマンドがhostPathボリュームに対してホスト上にディレクトリを作成しないことがあるバグを修正しました。 -
リモート Podman クライアントの
podman manifest pushコマンドが進捗を表示しないバグを修正しました。 -
podman image inspectの--filter "{{.Config.Healthcheck}}"オプションが、イメージの設定されたヘルスチェックを表示しないバグを修正しました (#14661). -
ボリュームプラグインが使われていない時に、
podman volume create -o timeout=オプションが指定できるバグを修正しました。
-podman rmiコマンドがタグ付き画像を削除する際にuntagイベントを発生させないバグを修正しました (#15485). -
Windows 上で
podman machineVM を使った API 転送が、パイプの作成が間に合わず失敗することがあるバグを修正しました (#14811). -
ポッド内のコンテナの削除がリブートによって中断された場合、
podman pod rmコマンドがエラーになることがあるバグを修正しました。 -
コンテナの
exitedとexec diedイベントがコンテナのラベルを含んでいないバグを修正しました (#15617)。 -
Systemd を PID 1 として使用していないシステム上で Systemd コンテナを実行すると失敗することがあるバグを修正しました (#15647)。
-
Podman がコンテナ起動時に必要な環境変数(
$PATHを含む)を全て Conmon に渡さないというバグを修正しました (#15707). -
イベントが存在しない場合に
podman eventsコマンドが正しく動作しないことがあるバグを修正しました (#15688)。 -
様々な Podman コマンドの
--formatフラグが、改行を含むテンプレート文字列 (n) を適切に扱わないというバグを修正しました (#13446)。 -
Systemd で管理されたポッドで、1つのコンテナが終了するとポッド内の全てのコンテナが kill されるバグを修正しました (#14546)。
-
podman generate systemdコマンドが、--nameオプションを付けずに作成したポッドに対して不正な YAML を生成していたバグを修正しました。 -
podman generate systemd --newコマンドが stop timeout を適切に設定しないバグを修正しました (#16149)。 -
コンテナの起動中にシステムが再起動したために OCI spec が壊れ、
podman inspectコマンドが再起動するまでコンテナを検査することができないバグを修正しました。 -
オーバーレイボリューム上に作業ディレクトリを持つコンテナを作成すると、コンテナが起動できなくなるバグを修正しました (#15789)。
-
実行中のコンテナを含むポッドを
--forceなしで削除しようとするとエラーにならず、ポッドと残りのコンテナが使用できない状態になるというバグを修正しました (#15526)。 -
podman statsが報告するメモリ制限がシステムで利用可能な最大メモリを超えることがあるバグを修正しました (#15765)。 -
podman container cloneコマンドが=文字を含む環境変数を適切に扱えないというバグを修正しました (#15836) -
podman-remote run --attach stdinコマンドを実行したときに、リモートの Podman クライアントがコンテナ ID を表示しないバグを修正しました。 -
podman machine list --format jsonコマンドがマシンの起動状態を適切に表示しないバグを修正しました。 -
完全修飾されていないイメージ名を持つコンテナを更新しようとすると、自動更新がエラーにならないバグを修正しました (#15879)。
-
podman pod logs --latestコマンドがパニックになるバグを修正しました (#15556)。 -
ネットワークのクリーンアップに失敗した場合、Podman がネットワークネームスペースのマウントをシステム上に残すことがあるバグを修正しました。
-
サポートされていない URI スキームを
podman system serviceの待ち受けに指定すると、パニックになるバグを修正しました。 -
podman killコマンドがコンテナを終了状態に移行しないことがあるバグを修正しました (#16142)。
Discussion