docker で no space left on device が出た時の対処法
docker で no space left on device が出た時の対処法

docker で no space left on device が出た時の対処法

はじめに

docker を使っているとたまに

No space left on device

というメッセージが出て起動やら build やらが出来なくなる事があります

そういった時にどうすれば良いのかをサッと説明します

状況の確認

Docker のObject としては以下のようなものがあり、使い方によって何が原因かは異なります

  • イメージ
  • コンテナ
    • コンテナを停止しても、 --rm フラグを付けて起動していなければ、コンテナは自動的に削除されず、容量を使う
  • ボリューム
    • 1つもしくは複数のコンテナによって利用されるもので、Docker ホスト上で容量を使う
  • ネットワーク
  • ビルドキャッシュ

手っ取り早く何かがおかしいかを確認するには Docker for mac の dashboard を開いて Resource を確認してください

docker for mac の dashboard
docker for mac の dashboard

Disk image size の used が巨大であればそれが原因の可能性が高いです

Docker が使っている使わない容量をあける

以下のコマンドで使っていないボリュームなどを一括で削除する事が可能です

docker system prune -a --volumes

-a option で既存のコンテナ~使われていないイメージすべてを削除します

--volumes フラグをつけるとボリュームも削除します

上記を実行後に再度 docker for mac の dashboard を見て、used の容量が減っている事を確認してください

参考