我可以看到Docker占用了12GB的文件系统:

2.7G    /var/lib/docker/vfs/dir
2.7G    /var/lib/docker/vfs
2.8G    /var/lib/docker/devicemapper/mnt
6.3G    /var/lib/docker/devicemapper/devicemapper
9.1G    /var/lib/docker/devicemapper
12G     /var/lib/docker

但是,我怎么知道它是如何分布在容器上的呢?

我试图通过运行(新的v1.3命令)附加到容器

docker exec -it <container_name> bash

然后运行'df -h'来分析磁盘使用情况。它似乎是有效的,但不是使用“volumes-from”的容器。

例如,我为MongoDB使用了一个仅数据的容器,称为“MongoDB -data”。

当我运行docker运行-it——volumes-from mongo-data busybox,然后在容器内df -h,它说文件系统安装在/data/db(我的'mongo-data'数据容器)使用11.3G,但当我做du -h /data/db时,它说它只使用2.1G。

那么,如何分析容器/卷磁盘使用情况呢?或者,在我的情况下,我如何找到'mongo-data'容器大小?


当前回答

要查看容器的文件大小,可以使用docker ps的——size参数:

docker ps --size

其他回答

要查看容器的文件大小,可以使用docker ps的——size参数:

docker ps --size

我使用docker stats $(docker ps——format={{.Names}})——no-stream来获取:

CPU使用率, 内存使用量/分配给容器的内存总量(可以通过docker run命令分配) Mem % 块I / O 网络I / O

docker system df命令显示关于docker守护进程所使用的磁盘空间量的信息。

docker system df -v

(这个答案并不有用,但因为一些评论可能有用,所以把它留在这里)

Docker图像将显示“虚拟大小”,即包括所有下层的总数。如果容器共享相同的基像,就会重复计算。

文档

请记住,docker ps——size可能是一个开销很大的命令,需要花费超过几分钟的时间来完成。这同样适用于size=1的容器列表API请求。最好不要太频繁地运行。

看看我们编译的其他选项,包括用于docker持久卷目录的du -hs选项。