Edited at

dockerコンテナのno space left on deviceエラーを解消する


HDDは空いてるのに no space left on device でコンテナが動かない

docker で 立ち上げたコンテナが次々と no space left on device などと

error を吐いて倒れていくので、全てのイメージを失ってでも一旦全て綺麗にしたい。って時の一連の流れ


環境


docker -v
Docker version 19.03.1, build 74b1e89


HDD容量の問題でないことを事前に確認


df -h

HDD自体が埋まってる場合は ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2あたりの削除もいいかもしれません。(イメージ、コンテナなどすべて消えます)


rm -f ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

消した後はdocker for macをリスタートしましょう。


現在起動中のコンテナに関わるものはそのまま残したい場合


docker system prune -af --volumes

以下のようなものが綺麗さっぱり消えます


WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all images without at least one container associated to them
- all build cache


とりあえず全部消す場合


コンテナを全て消す


docker rm -f $(docker ps -aq)


コンテナイメージを全て消す


docker rmi -f $(docker images -q)


docker volumeを全て消す


docker volume rm -f $(docker volume ls -q)