问题描述
我们需要了解容器使用的磁盘空间大小,以发现潜在的问题(比如日志直接保存在容器中)。
该笔记将记录:在 Docker 中,如何查看容器所占用的磁盘空间。
解决方案
查看磁盘空间
使用 docker ps --size 命令,可以查看当前容器所占用的磁盘空间:
# docker ps --size CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE 7c22f8c139cd demo "bash -c /bin/bash" 33 seconds ago Up 32 seconds musing_brahmagupta 12.1kB (virtual 202MB)
命令输出解读
在命令输出中,我们可以看到两个关于数值(12.1kB;202MB):
1)数值 12.1kB 表示“可写层”的总大小,即容器大小;
2)数值 202MB 表示“可写层”加上“镜像大小”(镜像大小等于 202MB - 12.1kB)
在容器启动时,会以只读方式挂载“用于启动容器的镜像”。在镜像之上,会挂载“可写层”,用于写入在容器中的任何变化。
注意事项
这里所说的“容器大小”并不包含以下部分:
1)写入标准输出、标准错误的日志文件大小;
2)容器所使用卷大小;
3)容器配置文件(hostname, resolv.conf, ...)的大小;
4)以及其他使用磁盘空间的地方。
相关文章
「Docker Container」- 查看容器资源,限制容器资源
「Docker」- 在容器中,运行 systemd 进程(轻量化的虚拟机)
参考文献
Explain the SIZE column in "docker ps -s" and what "virtual" keyword means #1520
How to analyze disk usage of a Docker container