サーバー上で docker ps を実行した際、過去に起動したまま数ヶ月間放置されているコンテナを見つけることがあります。不要になったコンテナはリソースを圧迫する要因となるため、適切なコマンドを用いて速やかに削除し、環境をクリーンな状態に保つことが望ましいです。本記事では、稼働中のコンテナを停止・削除する手順と、関連する不要リソースを一括で整理する方法をまとめます。
稼働中コンテナの停止と削除
Dockerコンテナは通常、稼働している状態では docker rm による削除ができません。確実に対処するためには、まずコンテナを停止してから削除するか、強制削除オプションを指定して処理します。
手早く1行で済ませたい場合は、-f オプションを付与した強制削除を実行するのが便利です。コンテナIDまたはコンテナ名を指定して以下のように実行します。
docker rm -f <CONTAINER_ID_OR_NAME>実行中の処理を安全に終了させてから削除したい場合は、段階を踏んで停止と削除を個別に実行します。
docker stop <CONTAINER_ID_OR_NAME>
docker rm <CONTAINER_ID_OR_NAME>これらのコマンドを実行することで、対象のコンテナ本体がホスト環境から安全に取り除かれます。
関連リソースの整理と一括クリーンアップ
コンテナ本体を削除しても、データベースの永続化データが保存されているボリュームや、コンテナの元となったイメージファイルはストレージ上に残り続けます。長期間放置されていた環境では、こうした付随リソースもあわせて整理することが重要です。
データベース等の不要なボリュームのみを整理したい場合は docker volume prune -f を使用し、使われていないイメージを完全に削除したい場合は docker image prune -a -f を実行します。
もし開発環境の全体をリセットし、停止中のコンテナ、使用されていないネットワーク、ボリューム、イメージをまとめて一括で掃除したい場合は、以下のコマンドを実行することでディスク容量を大幅に解放できます。
docker system prune --volumes -f不要になったコンテナとその関連データを適切に破棄することで、サーバーのリソース浪費を防ぎ、安定した運用環境を維持できます。