如何清理Docker占用的磁盘空间

Docker的使用极大地方便了应用的发布和维护,但同时Docker也会造成占用过多磁盘的问题。因此定期清理Docker占用的磁盘空间是很有必要的,以下将介绍几种清理方式:

1.13版本前Docker

1.13版本前的Docker只能手动清理,清理的内容主要是无用的Volume、无tag的镜像、停止的容器和占用空间过大的容器日志:
1.删除Docker镜像/容器/数据卷
删除所有停止的容器:

$ docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm

删除所有dangling镜像(即无tag的镜像):

$ docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

删除所有dangling数据卷(即无用的Volume):

$ docker volume rm $(docker volume ls -qf dangling=true)

2.删除容器日志

$ truncate -s 0 /var/lib/docker/containers/d1e4a54a930cc1c27d1f756a79ffbc259cd30eb80c759e680725465aee86d9fc/*-json.log

d1e4a54a930cc1c27d1f756a79ffbc259cd30eb80c759e680725465aee86d9fc:通过docker ps命令可知,该id与容器id相同。
*-json.log:docker中日志文件以该格式结尾

1.13版本及以上Docker

docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a命令清理得更加彻底,可以将没有容器使用的Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了

猜你喜欢

转载自blog.csdn.net/Loiterer_Y/article/details/83856754