LoginSignup
4

More than 5 years have passed since last update.

Docker for Macでディスク容量が足りなくなった時の対処法(その2)

Last updated at Posted at 2017-01-12

TL;DR

DockerVM上の/var/lib/docker/tmp/が6GBも使っていたので削除した。

はじめに

Docker for Mac を使い続けているのですが、大きなイメージをdocker pullしようとすると no space left on device と出てしまい、docker pull に失敗してしまいます。

ディスク容量を調べてみると

$ docker run --rm busybox df -h
Filesystem                Size      Used Available Use% Mounted on
none                     17.9G     14.2G      2.7G  84% /
tmpfs                     1.9G         0      1.9G   0% /dev
tmpfs                     1.9G         0      1.9G   0% /sys/fs/cgroup
/dev/vda1                17.9G     14.2G      2.7G  84% /etc/resolv.conf
/dev/vda1                17.9G     14.2G      2.7G  84% /etc/hostname
/dev/vda1                17.9G     14.2G      2.7G  84% /etc/hosts
shm                      64.0M         0     64.0M   0% /dev/shm
tmpfs                     1.9G         0      1.9G   0% /proc/kcore
tmpfs                     1.9G         0      1.9G   0% /proc/timer_list
tmpfs                     1.9G         0      1.9G   0% /proc/sched_debug

/dev/vda1 がDocker for Mac のDockerホストVMに割り当てられているブロックなので、14GB利用して2.7GBしか、残り容量がないことがわかります。

Docker for Mac をインストールしたての状態で試すと

$ docker run --rm -it busybox df -h
Filesystem                Size      Used Available Use% Mounted on
none                     17.9G     46.2M     16.9G   0% /
tmpfs                   998.9M         0    998.9M   0% /dev
tmpfs                   998.9M         0    998.9M   0% /sys/fs/cgroup
/dev/vda1                17.9G     46.2M     16.9G   0% /etc/resolv.conf
/dev/vda1                17.9G     46.2M     16.9G   0% /etc/hostname
/dev/vda1                17.9G     46.2M     16.9G   0% /etc/hosts
shm                      64.0M         0     64.0M   0% /dev/shm
tmpfs                   998.9M         0    998.9M   0% /proc/kcore
tmpfs                   998.9M         0    998.9M   0% /proc/timer_list
tmpfs                   998.9M         0    998.9M   0% /proc/sched_debug

なので、14GBほど容量を使っていることになります。しかし、こまめに不要なコンテナやイメージを削除していたため、14GBも容量を使っていることには納得いきません。そこで調査することにしました。

調査の結果

調査の結果、Docker ホストVMの /var/lib/docker/tmp/ で、6GBほど容量を使っているようでした。
調査の過程は記録を取るのを忘れていましたが、以下のコマンドを利用しています。

# macOS上で。Docker VMに入れる
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

# Ctrl + a, d で抜ける
# Docker VM上で
df -h -s *

# これで、どのディレクトリが容量を使っているのかを地道に調べました。多分もっといい方法はあったはず。

/var/lib/docker/tmp/の中身ですが、なんとなく昔使ってたコンテナの名残のような気がしたので削除することにしました。(tmpだし削除しても問題ないやろという楽観的な姿勢で挑みました)

一応すべてのコンテナは削除してから、/var/lib/docker/tmp/の削除を行いました。

rm -rf /var/lib/docker/tmp/

削除した結果

$ docker run --rm busybox df -h
Filesystem                Size      Used Available Use% Mounted on
none                     17.9G      6.2G     10.8G  36% /
tmpfs                     1.9G         0      1.9G   0% /dev
tmpfs                     1.9G         0      1.9G   0% /sys/fs/cgroup
/dev/vda1                17.9G      6.2G     10.8G  36% /etc/resolv.conf
/dev/vda1                17.9G      6.2G     10.8G  36% /etc/hostname
/dev/vda1                17.9G      6.2G     10.8G  36% /etc/hosts
shm                      64.0M         0     64.0M   0% /dev/shm
tmpfs                     1.9G         0      1.9G   0% /proc/kcore
tmpfs                     1.9G         0      1.9G   0% /proc/timer_list
tmpfs                     1.9G         0      1.9G   0% /proc/sched_debug

かなり容量が空きました。今の所、使用してみて不具合はありません。
結構楽観的に消しているので、試してみる場合は自己責任でお願いします。

参考URL

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4