首页 > 解决方案 > docker container ls --size 不准确,如何获得准确的容器大小?

问题描述

我的一个 docker 容器似乎在增长,并且 docker 没有跟踪大小。它将在几天内增加 20gigs 的大小,docker container ls --size但仍显示 1gb 大小,包括虚拟大小。我知道它是 20gb,因为如果我移除容器,我会释放 20gb。有没有办法得到准确的测量?

标签: docker

解决方案


就我而言,容器日志在几个月内不断增长,现在达到了一个临界点。

我的解决方案是截断日志文件 (:facepalm:),如下所述:如何正确清除 Docker 容器的日志?

验证日志大小

检查 docker 容器大小:

root@example:/var/lib/docker/containers# docker ps --size -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                                      NAMES               SIZE
0117e099a9b0        ix                      "/docker-entrypoin..."   8 months ago        Up 2 minutes        px                                         cx                  2B (virtual 132MB)
...

检查实际磁盘使用情况:

root@example:/var/lib/docker/containers# find . -type d -maxdepth 1 -exec du -hs {} 2>/dev/null \;
45G     .
37G     ./0117e099a9b04a36817c9a51f20f89571baeb3fe1b2a011695929d9bf381600f
...

深入罪魁祸首(0117e099a9b0)查看未测量的日志文件:

root@example:/var/lib/docker/containers/0117e099a9b04a36817c9a51f20f89571baeb3fe1b2a011695929d9bf381600f# ls -lssh
total 37G
 37G -rw-r----- 1 root root  37G May 27 08:44 0117e099a9b04a36817c9a51f20f89571baeb3fe1b2a011695929d9bf381600f-json.log
...

推荐阅读