Podman で 404 エラーが発生した場合、指定したイメージまたはコンテナーがシステム上に見つからないことを意味します。コマンド実行時にイメージ名やコンテナー名の指定に問題があるケースがほとんどです。
よくある原因
イメージ名またはタグ名の綴りが間違っている
Podman コマンドを実行する際、イメージ名のスペルミスやタグ名の入力誤りがあると 404 エラーが発生します。例えば podman run ubuntu:latestt のように「latestt」と誤入力した場合、そのタグは存在しないため見つかりません。レジストリー名を含める場合(例:docker.io/ubuntu)も、プレフィックスの綴り間違いが原因となることがあります。
ローカルにもリモートにもイメージが存在しない
イメージ名が正しく入力されていても、Podman がローカルストレージ内にそのイメージを持たず、かつリモートレジストリー(Docker Hub など)にも存在しない場合、404 エラーが返されます。Podman は podman run 実行時に自動的にリモートレジストリーを検索しますが、該当イメージがどこにも存在しなければ処理が失敗します。
コンテナー名またはコンテナー ID の指定が間違っている
podman stop、podman rm、podman inspect などのコンテナー操作コマンドでも 404 エラーが出現します。コンテナー名やコンテナー ID を誤って入力すると、Podman がそのコンテナーを特定できず、エラーが発生します。例えば podman stop my-contain のように名前を1文字間違えた場合、指定したコンテナーが見つかりません。
解決手順
ステップ 1: ローカルのイメージ一覧を確認する
まず Podman に保存されているイメージを確認します。
podman images
このコマンドで、ローカルストレージに存在するすべてのイメージが表示されます。出力にはリポジトリー名、タグ、イメージ ID、サイズなどが含まれます。実行に失敗したコマンドで指定したイメージ名とタグが、この一覧に含まれているか確認してください。例えば ubuntu:latest を探している場合、リポジトリー列に「ubuntu」、タグ列に「latest」がある行があるかチェックします。
ステップ 2: リモートレジストリーでイメージを検索する
ローカルにイメージが見つからない場合、リモートレジストリーで検索します。
podman search <image-name>
例えば podman search nginx を実行すると、Docker Hub に登録されているすべての nginx 関連イメージが表示されます。検索結果から目的のイメージを特定し、正確なイメージ名を確認してください。リモートレジストリーにイメージが存在する場合、podman pull でダウンロードしてからコンテナーを起動します。
podman pull <registry>/<image-name>:<tag>
例えば podman pull docker.io/nginx:latest のように、レジストリー、イメージ名、タグをすべて指定します。
ステップ 3: 全コンテナーの一覧を確認する
コンテナー操作で 404 エラーが出た場合、実際に存在するコンテナーの一覧を表示します。
podman ps -a
-a オプションで実行中および停止状態のすべてのコンテナーが表示されます。出力には CONTAINER ID、イメージ名、作成時刻、ステータス、ポート情報、コンテナー名などが含まれます。実行に失敗したコマンドで指定したコンテナー ID またはコンテナー名が一覧に存在するか確認してください。存在しない場合は、別のコンテナー ID またはコンテナー名を使用するか、新しくコンテナーを作成する必要があります。
それでも解決しない場合
Podman のバージョンが古い場合、特定のレジストリーへの対応に問題が生じる可能性があります。podman --version でバージョンを確認し、必要に応じてアップグレードしてください。また、Podman のレジストリー設定ファイル(/etc/containers/registries.conf)を確認し、検索対象のレジストリーが正しく設定されているか確認します。さらに詳しい情報は podman logs <container-id> でコンテナーのログを確認するか、podman inspect <image-id> でイメージの詳細情報を調べることで、問題の原因が特定しやすくなります。
免責事項:本記事の内容は、執筆時点の公開情報をもとに作成したものです。ソフトウェアの仕様は予告なく変更されることがあります。最新の情報は各ツールの公式サポートページをご確認ください。本記事の情報を利用した結果生じたいかなる損害についても、著者および運営者は責任を負いかねます。