VPSでWebサーバーをたてていたら「no space left on device」と言われたのでその解決方法。
原因を探す
no space left on deviceはそのままディスクに容量がない。容量をたくさん使っていて削除しても良いファイルを見つける。
ディスク全体の空き容量を調べる
$df -h
でディスク内のどこで容量を使っているかを調べる。
$ df -h
Filesystem Size Used Avail Use% Mounted on
中略
/dev/vda3 21G 20G 9.6M 100% /
中略
こんな感じで出てきた。/dev/vda3で100%使っていてMounted onが/なので/以下でたくさんディスクを使っていることがわかる。(当たり前)
ディレクトリごとに調査
$ cd /
$ sudo du -sh ./*
で多くのディスクを使っているディレクトリを調べて、cdしていく。
原因
前回調査したときもそうだった気がするが、やっぱり悪いのは/var/lib/docker。
dockerのディスク使用量を減らす
(これからは最初からdockerが悪いと決めつけて良いかも)
Dockerのディスク使用量を確認する。
$docker system df
よくわからないので不要なイメージとコンテナを削除する
$ docker image prune
$ docker container prune
それでも減らなければ$docker images から不要なものを削除していく。$docker rmi image_id
$docker images でびっくりするけど普通に1G超えるイメージ多すぎる…
コメント