linux中容器containers包含哪些数据

Posted by

/var/lib/docker/containers/ 是 Docker 的一个核心目录,它存储了所有容器的元数据、日志文件和运行状态信息。这个目录里的内容是 Docker 容器运行的关键组成部分之一。


📂 路径结构说明:

/var/lib/docker/containers/
└── <container-id>/
├── config.v2.json
├── hostconfig.json
├── mounts/
├── hostname
├── hosts
├── resolv.conf
├── log.db
└── <container-id>-json.log

其中每一个 <container-id>/ 子目录都代表一个具体的容器。


📄 常见文件作用解释:

文件名/目录作用
config.v2.json容器的配置信息,比如镜像、命令、环境变量、端口等
hostconfig.json宿主机相关配置,如绑定挂载、网络、资源限制等
hostname, hosts, resolv.conf容器的网络配置文件
mounts/挂载点信息(卷、bind 挂载等)
<container-id>-json.log容器的标准输出日志(默认使用 json-file 驱动)
log.db(有时)记录一些运行时信息或与 log rotation 相关
checkpoints/(可选)容器的 checkpoint(用于容器暂停恢复功能)

🔍 查看容器日志:

cat /var/lib/docker/containers/<container-id>/<container-id>-json.log

或者更推荐使用命令查看:

docker logs <container-name>

⚠️ 注意事项:

  • 不要手动删除这些文件,尤其是在容器运行期间,否则可能导致容器崩溃或 Docker 异常。
  • 这个目录可能会非常大,特别是日志文件,如果你没配置日志轮转(log rotation)。

🧼 优化建议:限制日志文件大小

编辑 /etc/docker/daemon.json 增加日志限制:

{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}

然后重启 Docker:

sudo systemctl restart docker

这样可以限制每个容器日志最大为 10MB,保留 3 个文件(共约 30MB)。

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注