如何分析 Docker 容器的磁盘使用情况

新手上路,请多包涵

我可以看到 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 使用了一个纯数据容器,称为“mongo-data”。

当我在容器内运行 docker run -it --volumes-from mongo-data busybox ,然后 df -h 时,它说文件系统安装在 /data/db 上使用 11.3G,但是当我使用 du -h /data/db 时,它说它只使用 2.1G。

那么,如何分析容器/卷的磁盘使用情况?或者,就我而言,如何找出“mongo-data”容器的大小?

原文由 AlonL 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 818
2 个回答

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

 docker ps --size

原文由 Maxime 发布,翻译遵循 CC BY-SA 4.0 许可协议

1.13.0 之后,Docker 包含一个新命令 docker system df 来显示 docker 磁盘使用情况。

 $ docker system df
TYPE            TOTAL        ACTIVE     SIZE        RECLAIMABLE
Images          5            1          2.777 GB    2.647 GB (95%)
Containers      1            1          0 B         0B
Local Volumes   4            1          3.207 GB    2.261 (70%)

要显示有关空间使用的更多详细信息:

 $ docker system df --verbose

原文由 Hemerson Varela 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题