docker - docker container ls --size 不准确,如何获得准确的容器大小?
问题描述
我的一个 docker 容器似乎在增长,并且 docker 没有跟踪大小。它将在几天内增加 20gigs 的大小,docker container ls --size
但仍显示 1gb 大小,包括虚拟大小。我知道它是 20gb,因为如果我移除容器,我会释放 20gb。有没有办法得到准确的测量?
解决方案
就我而言,容器日志在几个月内不断增长,现在达到了一个临界点。
我的解决方案是截断日志文件 (: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
...
推荐阅读
- c# - 基于属性的 LINQ 相交
- ios - 无法使用 Google Map SDK iOS 绘制 GMSPolyline
- java - Matlab中YARP的使用方法
- android - 将firebase添加到项目后同步失败
- mysql - 如何利用join做一个简单的报表
- ruby - Watir运行错误
- python - Why use class method over a regular function in python
- python - 如何使用 Python 连接 SQLite DB 中的两个表?
- c++ - 将 CURL 作为静态库添加到 C++ CMake 项目
- android - 使用 minifyEnabled true 后的 android studio 错误