Docker 检查容器大小及清除docker磁盘空间

前言

今天服务器一直提示资源异常,一看发现空间 32G 快用完了,一层层查询下去发现是 docker 容器overlay2目录占用了大量空间。下面是清理的方法。

查看服务器内存大小

1
2
3
4
5
# -T:可以用来查看分区的文件系统。

# -h:表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。

df -h

查看服务器空间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -h:以人类可读的方式显示。

# -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小。

# -s:只显示目录占用的磁盘空间大小,不显示其子目录和文件占用的磁盘空间大小。

# -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和。

# --apparent-size:显示目录或文件自身的大小。

# -l :统计硬链接占用磁盘空间的大小。

# -L:统计符号链接所指向的文件占用的磁盘空间大小。

du -h --max-depth=1 /var/log

查看 docker 磁盘使用情况

1
du -hs /var/lib/docker/
1
2
3
4
5
6
7
# 类似于Linux上的df命令,用于查看Docker的磁盘使用情况:

docker system df

# 查看单个image、container大小

docker system df -v

清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像)

1
2
3
4
5
docker system prune

# 彻底清理,可以将没有容器使用Docker镜像都删掉

docker system prune -a
  • 注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了…所以使用之前一定要想清楚.。