はじめに
docker を使っているとたまに
No space left on device
というメッセージが出て起動やら build やらが出来なくなる事があります
そういった時にどうすれば良いのかをサッと説明します
状況の確認
Docker のObject としては以下のようなものがあり、使い方によって何が原因かは異なります
- イメージ
- コンテナ
- コンテナを停止しても、 --rm フラグを付けて起動していなければ、コンテナは自動的に削除されず、容量を使う
- ボリューム
- 1つもしくは複数のコンテナによって利用されるもので、Docker ホスト上で容量を使う
- ネットワーク
- ビルドキャッシュ
手っ取り早く何かがおかしいかを確認するには Docker for mac の dashboard を開いて Resource を確認してください
Disk image size の used が巨大であればそれが原因の可能性が高いです
Docker が使っている使わない容量をあける
以下のコマンドで使っていないボリュームなどを一括で削除する事が可能です
docker system prune -a --volumes
-a
option で既存のコンテナ~使われていないイメージすべてを削除します
--volumes
フラグをつけるとボリュームも削除します
上記を実行後に再度 docker for mac の dashboard を見て、used の容量が減っている事を確認してください
参考