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 machine
VM を使った 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