/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)。