dockerイメージの整理



Dockerの空き容量を増やすためのコマンドまとめ

概要

Docker環境でディスク容量が圧迫された場合、不要なイメージ・コンテナ・ボリューム・キャッシュを削除することで空き容量を増やせます。代表的なコマンドとその用途をまとめます。


1. ディスク使用状況の確認

  • docker system df Dockerがどれだけディスクを使っているかを確認できます12

2. 一括削除コマンド(最も簡単・強力)

  • docker system prune 停止中のコンテナ、未使用のネットワーク、未タグ付けイメージなどを一括削除します3425
  • docker system prune --all --volumes さらに未使用のイメージ・ボリュームも含めて全て一括削除します(空き容量を最大化したい場合)45

3. 個別削除コマンド

コマンド削除対象
docker image prune未使用イメージのみ
docker container prune停止中コンテナ
docker volume prune使われていないボリューム
docker builder pruneビルドキャッシュ
docker network prune未使用ネットワーク
  • 例: docker image prune -a で全未使用イメージを削除 docker volume prune で使われていないボリュームを削除62

4. 応用・条件付き削除

  • 1週間以上使っていないコンテナのみ削除 docker container prune --force --filter "until=168h"2
  • 宙ぶらりんな(dangling)イメージやボリュームの削除 docker rmi $(docker images -f "dangling=true" -q) docker volume rm $(docker volume ls -qf dangling=true)2

5. Windowsの場合の追加作業

  • Docker Desktopの仮想ディスク(ext4.vhdxなど)を圧縮 仮想ディスクの肥大化が気になる場合は、不要ファイル削除後に仮想ディスク圧縮コマンド(例:Optimize-VHD)を使う7

まとめ

  • 空き容量を一気に増やしたい場合は docker system prune --all --volumes を推奨
  • より細かく制御したい場合は個別コマンドを組み合わせて実行
  • 定期的なクリーンアップをシェルスクリプト化して自動化するのも有効2

注意 これらのコマンドは「使われていない」データを削除します。必要なデータが消えないよう、実行前に内容を確認してください45


  1. https://dojo.docker.jp/t/topic/53 ↩︎

  2. https://zenn.dev/minedia/articles/2023-02-20-docker-416d4f98ea1b75 ↩︎

  3. https://qiita.com/shione/items/dfa956a47b6632d8b3b3 ↩︎

  4. https://sumito.jp/2019/06/28/docker-storage-full/ ↩︎

  5. https://docs.docker.jp/config/pruning.html ↩︎

  6. https://zenn.dev/shiragi/articles/f7271646ea68c1 ↩︎

  7. https://qiita.com/nkojima/items/823b9d512614fb5d0993 ↩︎