Podman 500 エラーは内部的な予期しないエラーが発生したことを示す深刻なエラーです。ストレージ破損やディスク容量不足が原因となることが多いため、段階的に対処する必要があります。

よくある原因

Podmanのストレージが破損している

Podmanはコンテナのメタデータとレイヤーをローカルストレージに保存していますが、不正なシャットダウンや予期しない電源遮断によってこのストレージが破損することがあります。破損すると、Podmanがコンテナの情報を読み込めなくなり、500エラーが発生します。

コンテナのオーバーレイファイルシステムに問題がある

Podmanはコンテナのファイルシステムを管理するためにオーバーレイFS(ファイルシステムを階層化する仕組み)を使用しています。このオーバーレイの設定ファイルが破損したり矛盾したりすると、Podmanはコンテナを起動・管理できず、500エラーで応答します。

ディスクの空き容量がなくなっている

Podmanがコンテナイメージをプルしたり、コンテナを実行したりする際にディスク容量が必要ですが、容量不足になるとファイル書き込みに失敗し、内部エラーが発生します。特にコンテナの操作中に容量が満杯になった場合、ストレージの状態が不安定になります。

解決手順

ステップ 1:ディスク容量を確認する

まずは最も簡単な原因を排除します。ディスク使用状況を確認してください。

df -h

出力結果で //var のパーティションが 90% 以上になっていないか確認します。もし容量が逼迫している場合は、不要なファイルを削除してから先に進みます。

ステップ 2:Podmanの不要データを削除する

ディスク容量に余裕がある場合でも、使用していないコンテナやイメージが蓄積していることがあります。以下のコマンドで不要データをクリーンアップします。

podman system prune -a

このコマンドは使用されていないコンテナ、イメージ、ネットワークを削除します。-a フラグをつけるとすべての未使用イメージを削除します。削除対象の一覧が表示されるので、確認して進めてください。

ステップ 3:ログを確認して具体的なエラー内容を把握する

Podman関連のログファイルを確認することで、より詳細なエラー原因を特定できます。

journalctl -u podman -n 50

システムジャーナルの最新 50 行を確認すると、Podmanが記録した詳細なエラーメッセージが表示されます。ストレージ破損を示すメッセージ(例:「storage driver error」)がないか確認します。

ステップ 4:ストレージをリセットする(最後の手段)

上記の手順でも解決しない場合、Podmanのストレージを完全にリセットします。このコマンドはすべてのコンテナとイメージを削除するため、本番環境での実行には特に注意が必要です。

podman system reset

実行前に、重要なコンテナやイメージをバックアップしておくことを強く推奨します。このコマンドの後、Podmanの初期状態から再度構築する必要があります。

リセット後、再度イメージをプルしてコンテナを起動してください。

podman pull <your-image-name>
podman run -d <your-image-name>

それでも解決しない場合

上記の手順を実行してもエラーが続く場合は、システムレベルの問題である可能性があります。以下を確認してください。

  • ファイルシステムの破損fsck コマンドでファイルシステムの整合性をチェックしてください。ただし、マウント状態では実行できないため、ライブUSBなどから起動して実行します。

  • SELinux の設定:RHEL系システムを使用している場合、SELinuxがPodmanの操作をブロックしていないか確認します。getenforce で状態を確認し、必要に応じてコンテキストをリセットしてください。

  • Podmanの再インストール:パッケージマネージャー経由で Podman をアンインストール後、再度インストールすることで、破損した設定ファイルを修復できます。

# Debian/Ubuntu の場合
sudo apt remove podman
sudo apt install podman

# RHEL/CentOS の場合
sudo dnf remove podman
sudo dnf install podman

それでも問題が解決しない場合は、Podmanのバージョンアップが有効な可能性もあります。公式ドキュメント(https://podman.io)で最新の既知問題を確認してください。


免責事項:本記事の内容は、執筆時点の公開情報をもとに作成したものです。ソフトウェアの仕様は予告なく変更されることがあります。最新の情報は各ツールの公式サポートページをご確認ください。本記事の情報を利用した結果生じたいかなる損害についても、著者および運営者は責任を負いかねます。