Run docker system prune --volumes When Getting 'no space left on device' Error with Amazon ECS + Docker
This article introduces how to fix the no space left on device error when using Amazon ECS + Docker.
A no space left on device error occurred in Amazon ECS, preventing new tasks from starting.
Error response from daemon:
create ecs-hoge-123-log-9eede4c79198a0d35b00:
error while creating volume path '/var/lib/docker/volumes/ecs-hoge-123-log-9eede4c79198a0d35b00/_data':
mkdir /var/lib/docker/volumes/ecs-hoge-123-log-9eede4c79198a0d35b00:
no space left on device
To conclude, just run the following command that bulk deletes unused docker images, volumes, etc., and you’re done.
docker system prune --volumes
When I tried to delete unused images first, the following error occurred. The error message is broken into lines with : for readability, but it’s actually 1 line.
$ docker image prune
Error response from daemon:
container 651ea642b4718a09b204807761ea854ecfcdcfa832df729c6ce1264601d3ddb4:
driver "devicemapper" failed to remove root filesystem:
failed to remove device 7f1c7f87e921d23749e673fda554ab67931c186882d44bf74b78f2b2fc99efea:
devmapper: Error saving transaction metadata:
devmapper: Error creating metadata file:
open /var/lib/docker/devicemapper/metadata/.tmp929441300:
no space left on device
Following this procedure succeeded without errors.
docker volume prune
docker volume ls -qf dangling=true
# Confirm that no unused volumes are output
docker image prune
docker ps -aq --filter status=exited
# Confirm that no unused images are output
That’s all from the Gemba on running docker system prune —volumes when getting a no space left on device error in Amazon ECS.