なぜリソースのクリーンアップが必要か?
docker-composeでイメージをビルドしたり、コンテナを起動する際にリソース不足で失敗することがあります。
エラー自体は、ディスク容量が不足していることがたいていの理由なので、Docker DesktopでResourcesから増やすことで回避できます。

masayan
この対処自体も限界があるので、定期的に本記事で紹介するコマンドたちを実行してクリーンアップしておくのが吉です。
リソースはまとめて一括で削除するか、個別のリソースを指定して削除するかの2通りのやり方があります
全てのリソースを削除
docker system prune

masayan
上記のコマンドにより以下のデータがクリーンアップされます
- 停止しているコンテナ(= compose downしていない)
- 使用されていないイメージ
- 使用されていないネットワーク
- 過去にイメージをbuildした際に作成されたキャッシュ
ボリュームも併せて削除したい場合は、以下のようにします
docker system prune --volumes
https://matsuand.github.io/docs.docker.jp.onthefly/engine/reference/commandline/builder_prune/
リソースを指定して削除
コンテナ
未使用(停止中)のコンテナをすべて削除
docker container prune
docker container prune
docker container prune: 停止中のコンテナーをすべて削除します。
イメージ
未使用のイメージをすべて削除

masayan
タグ付けされておらず、全コンテナ(動いているか止まっているかは問わない)から参照されていないイメージが削除されます
docker image prune
docker image prune
docker image prune: 未使用のイメージを削除します。 `-a` を指定すると、どのコンテナーからも参照されていないイメージを含めてすべてが削除されます。
タグについては、こちらの内容を参照ください
Compose ファイル・リファレンス — Docker-docs-ja 1.12.RC2 ドキュメント
ボリューム
未使用のローカルボリューム(どのコンテナからも参照されていないボリューム)をすべて削除
docker volume prune
docker volume prune
docker volume prune: 未使用のローカルボリュームを削除します。 未使用のローカルボリュームとは、どのコンテナーからも参照されていないボリュームのことです。
ネットワーク
未使用のネットワーク(どのコンテナーからも参照されていないネットワーク)をすべて削除
docker network prune
docker network prune
docker network prune: 未使用のネットワークをすべて削除します。 未使用のネットワークとは、どのコンテナーからも参照されていないネットワークのことです。
ビルドキャッシュ
未使用のビルドキャッシュをすべて削除
docker builder prune