Docker(ドッカー)を利用していると知らない間にディスク容量がいっぱいになっていることがある。
コンテナーのビルド等を繰り返すことで不要なデータやキャッシュが溜まっていってしまうのが原因。
Dockerのディスク容量が逼迫(ひっぱく)してしまうと、
コンテナーが正常に動作しないなどのエラーが起こる可能性がある。
使用していないコンテナやイメージ等の必要ないデータは適宜削除して、空き容量を確保するようにしよう。
この記事では、dockerの使用していない不要なデータを一括して削除する方法を紹介する。
-
【M2・Apple Chip対応】macOSのDocker Desktopのインストール方法
開発には欠かせないDockerは、多数のコンテナを管理してサービスを実行することができる。 仮想マシンと比較して、導入コストが低く、軽量で動作が軽いため支持されている。 そこで、本記事では『Docke ...
続きを見る
ディスクの容量を確認
docker system df
にて、dockerのディスク利用状況を確認することができる。
docker system df
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 13 11 9.923GB 1.367GB (13%)
Containers 11 11 82.47MB 0B (0%)
Local Volumes 6 6 512.7MB 0B (0%)
Build Cache 0 0 0B 0B
不要なデータをまとめて削除
docker system prune
にて、以下をまとめて削除することが可能。
- 停止中のコンテナー
- 使用していないネットワーク
- 使用していないイメージ
- 使用していないボリューム
- 不要なキャッシュ
docker system prune
$ docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N]
コマンドを実行すると、上記のように削除しても良いか聞かれるので、問題なければYESの『y』を入力する。
確認が不要な場合は、オプションで -f
を付けると、即座に削除処理を実行できる。
何も削除されない場合は、オプションで -a
を付けると、削除できる場合がある。
また、使用していないマウントボリュームも含めて削除したい場合は、オプションで --volumes
を付けよう。
『all volumes not used by at least one container』が追加されていることが確認できるはずだ。
docker system prune --volumes
$ docker system prune --volumes
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N]
不要なデータを個別で削除したい場合
先程はまとめて不要なデータを削除するコマンドを紹介したが、種類ごと(コンテナやイメージごと)に削除することもできる。
不要なコンテナの一括削除
docker container prune
不要なネットワークの一括削除
docker network prune
不要なイメージの一括削除
docker image prune
不要なボリュームの一括削除
docker volume prune
まとめ
以上、docker prune
コマンドを使用した削除方法を解説した。
容量が多いと意図しない動作やエラーの原因にも繋がるので、日頃から確認や削除をしていただければと思う。
これらのコマンドで削除ができない場合は、docker rm
コマンドを使用した削除方法も紹介している。
-
ディスク容量が原因でコンテナが動かない?不要なデータをまとめて削除するdocker rmコマンドを紹介
Docker(ドッカー)を使用していると、イメージやコンテナが増えていきディスク容量が圧迫される。 運用しているコンテナが多いのに比例することはもちろんのこと、 イメージのインストールやビルドを繰り返 ...
続きを見る
reichelblogでは、他にもプログラミングに関する記事を随時更新しているので、詳細が気になる方はこちらも合わせてご覧いただきたい。
-
【Dash入門編】PythonでUIを簡単に実装!概要とインストール手順を徹底解説
PythonでUI(ユーザーインターフェース)実装ができる『Dash』をご存じだろうか? Dashを使用すると、複雑に動作するUI画面をPythonのコードで簡単に実装することができる。 実装したアプ ...
続きを見る
この記事が少しでも参考になると幸いだ。
最後まで目を通していただき、ありがとうございました。