Dockerで不要データを削除しディスクスペースの解放を実現する方法
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Dockerを使うと、イメージ、コンテナ、ボリューム、ネットワーク、そしてビルド時のキャッシュなど、様々なデータが生成されます。
これらはプロジェクトの進行と共に積み重なり、大量のディスクスペースを消費することがあります。
不要になったこれらのデータを定期的に削除することで、システムをクリーンに保ち、ディスクスペースを解放することができます。
ここでは、いくつかのやり方を紹介していきます。
使われていないDockerイメージの削除
特定のイメージを削除
直接イメージIDを指定し、指定したイメージを削除します。
zsh$ docker rmi <image_id>
- 削除されるもの: 指定したイメージIDに関連するイメージ。
- 保持されるもの: 他の全てのイメージ、コンテナ、ボリューム、ネットワーク。
すべての未使用イメージを削除
すべての未使用イメージを削除します
zsh$ docker image prune -a
- 削除されるもの: すべての未使用のイメージ。
- 保持されるもの: 現在使用中のイメージ、全てのコンテナ、ボリューム、ネットワーク。
未使用のコンテナの削除
特定のコンテナを削除
直接コンテナIDを指定し、指定したコンテナを削除します。
zsh$ docker rm <container_id>
- 削除されるもの: 指定したコンテナIDに関連するコンテナ。
- 保持されるもの: 他の全てのコンテナ、イメージ、ボリューム、ネットワーク。
すべての停止中のコンテナを削除
すべての停止中のコンテナを削除します
zsh$ docker container prune
- 削除されるもの: すべての停止中のコンテナ。
- 保持されるもの: 現在実行中のコンテナ、全てのイメージ、ボリューム、ネットワーク。
未使用のボリュームの削除
すべての未使用のボリュームを削除します
zsh$ docker volume prune
- 削除されるもの: どのコンテナからも参照されていないボリューム。
- 保持されるもの: 現在コンテナによって使用されているボリューム、全てのイメージ、コンテナ、ネットワーク。
未使用のネットワークの削除
すべての未使用のネットワークを削除します
zsh$ docker network prune
- 削除されるもの: どのコンテナからも使用されていないネットワーク。
- 保持されるもの: 現在コンテナによって使用されているネットワーク、全てのイメージ、コンテナ、ボリューム。
ビルドキャッシュの削除
ビルドキャッシュをすべて削除します
zsh$ docker builder prune
- 削除されるもの: 未使用のビルドキャッシュ。
- 保持されるもの: 最近使用されたビルドキャッシュを含む、全てのイメージ、コンテナ、ボリューム、ネットワーク。
Dockerシステムの全体的なクリーンアップ
削除対象を確認
zsh$ docker system df
すべての未使用のイメージ、コンテナ、ボリューム、ネットワークを削除します。
zsh$ docker system prune
-a オプションを使用すると、未使用のものだけでなく、全ての未接続イメージも削除されます。
zsh$ docker system prune -a
これらのコマンドを定期的に使用することで、Docker環境をきれいに保ち、ディスクスペースを有効に活用することができます。
articleDockerfile 命令チートシート:FROM/ARG/ENV/COPY/ADD/RUN/ENTRYPOINT の最適書式
articlemacOS(Apple Silicon)で Docker を高速化:qemu/仮想化設定・Rosetta 併用術
articleRedis Docker Compose 構築:永続化・監視・TLS まで 1 ファイルで
articleDocker Compose v2 と k8s(skaffold/tilt)比較検証:ローカル開発どれが最速?
articleDocker イメージ署名と検証:cosign でサプライチェーンを防衛する運用手順
articleDocker で DNS 解決に失敗する時の原因と対処:overlay2・systemd-resolved・WSL2 対応
articleWebSocket Close コード早見表:正常終了・プロトコル違反・ポリシー違反の実務対応
articleStorybook 品質ゲート運用:Lighthouse/A11y/ビジュアル差分を PR で自動承認
articleWebRTC で高精細 1080p/4K 画面共有:contentHint「detail」と DPI 最適化
articleSolidJS フォーム設計の最適解:コントロール vs アンコントロールドの棲み分け
articleWebLLM 使い方入門:チャット UI を 100 行で実装するハンズオン
articleShell Script と Ansible/Make/Taskfile の比較:小規模自動化の最適解を検証
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来