[docker]未使用リソースを全て削除する方法があった!docker-compose buildで「no space left on device」というエラーが出たので試してみました

docker
スポンサーリンク

割と頻繁にdocker-compose buildをしていた時、なぜかビルドに失敗することがありました。
エラーメッセージを見てみると、何やら「no space left on device」という文字が…
調べてみると、dockerのリソース不足である可能性があり、リソースの削除を試してみたところビルドが通るようになりました。

この記事では、dockerのリソースを削除するコマンドを紹介します。

dockerの未使用リソースを削除するコマンド

全てのリソースを削除

未使用のデータを全て削除したいときは、次のコマンドを使います。

未使用のリソースを全て削除

以下のリソースが削除されるようです。

  • 停止しているコンテナ
  • 使用されていないネットワーク
  • 使用されていないイメージ
  • buildキャッシュ

コマンド実行すると、本当に削除していいか聞かれます。

 % 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] y


Total reclaimed space: 15.81GB

私の環境には未使用のリソースが15.81GBもあったのか…

個別に削除する場合

それぞれ、未使用のコンテナやネットワークなどを個別に削除することもできます。

コンテナー

停止中のコンテナーを削除します。

docker container prune

docker container prune | Docker ドキュメント

イメージ

未使用のイメージを削除します。

docker image prune

docker image prune | Docker ドキュメント

ボリューム

未使用のローカルボリュームを削除します。

docker volume prune

docker volume prune | Docker ドキュメント

ネットワーク

未使用のネットワークをすべて削除します。

docker network prune

docker network prune | Docker ドキュメント

ビルドキャッシュ

ビルドキャッシュの削除には、2つのAPIがありました。

docker builder prune

docker builder prune | Docker ドキュメント

docker builderはバージョン1.39以上で使用できます

docker buildx prune

docker buildx prune | Docker ドキュメント

ちょっと困ったこと

docker system pruneで全て一括削除をしたところ、dockerで使用する予定のネットワークも削除しちゃいました。

% docker-compose up             
ERROR: Network docker-compose_default declared as external, but could not be found. Please create the network manually using `docker network create docker-compose_default` and try again.

もう一度作成すれば良いので、問題はないですね。

このブログでは、【ConoHa WING】を使っています

このブログでは、【ConoHa WING】を使っています
わたし、稼げました。

このブログでは、プログラミングでの学びをノート代わりとして記事としています。
少しずつPVが増えてきて、先日Google AdSenseの収益が振り込まれました!

どれくらいの記事数、期間、PVがあれば振込ボーターの8千円に到達するのか?
私のリアルな数字を紹介します。

ブログ村を利用しています
素人エンジニアの苦悩 - にほんブログ村
PVアクセスランキング にほんブログ村
docker
スポンサーリンク
スポンサーリンク
シェアする
amateur_engineerをフォローする
素人エンジニアの苦悩

コメント

タイトルとURLをコピーしました