不得不知的docker system

docker system df

类似于linux上的df,用于查看docker的磁盘使用情况。

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

手动清理

删除所有关闭容器:

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

删除所有dangling镜像 即没有tag的镜像

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

删除所有dangling数据卷 即没有使用的volume

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

除此之外还需要注意日志文件

du -hs /var/lib/docker

可以使用truncate命令情况overlay

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

上面的操作治标不治本,根本上解决问题,需要限制log的大小

如果清理了之后发现磁盘空间并没有减少,你可能需要重启一下docker,这种情况不多见

最后修改:2021 年 10 月 27 日 11 : 52 PM