docker运行一段时间后,会发现磁盘的占用比例较高甚至出现磁盘没有可用空间的问题。
1.查看磁盘占用情况
我们可以用docker system df查看docker的磁盘占用情况:

可以看出volumes占用的空间比较多。我们还可以用docker system df -v查看具体那些文件占用的比较多:

2.磁盘清理
2.1 docker system prune
该命令可以对空间进行自动清理。清理的对象包括已停止的容器、未被任何容器使用的卷、未被任何容器所关联的网络、所有悬空的镜像。其中悬空镜像指的是未配置任何Tag(也就是无法被引用)的镜像。通常是由于镜像编译过程中未指定-t参数配置Tag导致的。这里后面还可以加-a表示删除所有未被使用的镜像和悬空镜像;-f表示强制删除。

2.2 docker image prune
删除无用的镜像。同样提供-a和-f的可选项

2.3 docker container prune
删除无用的容器。默认情况下docker container prune命令会清理掉所有处于stopped状态的容器。如果不想那么残忍统统都删掉,也可以使用–filter标志来筛选出不希望被清理掉的容器。例子:清除掉所有停掉的容器,但24内创建的除外: docker container prune --filter "until=24h"

2.4 docker volume prune
删除无用的卷。
2.5 docker network prune
删除无用的网络
完成后我们可以用df -h查看磁盘使用情况。

排查时也可以用du -lh --max-depth=1或du -h --max-depth=1查看目录下文件大小,去排查

3132

被折叠的 条评论
为什么被折叠?



