主 题:Docker 容器日志大小治理:从默认配置到可验证的滚动策略
发 布 者:shunrai
标签分类: 技术
时 间:2026-08-15 08:21:19
内容预览:为什么要治理容器日志Docker 常用 json-file 驱动,日志通常保存在 Docker 数据目录的容器目录中。应用持续向标准输出写入内容时,日志文件可能不断增长并占满磁盘,影响数据库写入、容器重启和宿主机登录。治理重点是设置单文件上限、保留数量,并确认配置已作用于目标容器,而不是只清空历史日志。以下示例以 Linux 上的 Docker Engine 为例,请结合实际数据目录、权限和维护窗口调整。设置默认滚动策略先查看数据目录和现有配置:docker info --format '{{.DockerRootDir}}'sudo cat /etc/docker/daemon.json编辑 /etc/docker/daemon.json。已有其他字段时应合并 JSON,不要覆盖原配置:{ "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "5", "compress": "true" }}该示例表示单个日志文件达到 20 MB 后滚动,最多保留 5 个文件,并压缩轮转文件。数值应根据磁盘容量、排障需求和应用输出量调整。修改后先校验格式,再在维护窗口重启 Docker:python3 -m json.tool /etc/docker/daemon.jsonsudo systemctl restart docker默认配置通常只影响重建后的容器,已存在的容器不一定自动继承。生产环境应先记录容器清单,再通过既有编排流程逐个重建,避免一次性操作造成中断。在 Compose 中显式指定重要服务可在 compose.yaml 中声明策略,减少宿主机默认配置变化造成的差异:services: web: image: nginx:stable loggin
直达链接: https://www.nodeseek.com/post-875040-1
发 布 者:shunrai
标签分类: 技术
时 间:2026-08-15 08:21:19
内容预览:为什么要治理容器日志Docker 常用 json-file 驱动,日志通常保存在 Docker 数据目录的容器目录中。应用持续向标准输出写入内容时,日志文件可能不断增长并占满磁盘,影响数据库写入、容器重启和宿主机登录。治理重点是设置单文件上限、保留数量,并确认配置已作用于目标容器,而不是只清空历史日志。以下示例以 Linux 上的 Docker Engine 为例,请结合实际数据目录、权限和维护窗口调整。设置默认滚动策略先查看数据目录和现有配置:docker info --format '{{.DockerRootDir}}'sudo cat /etc/docker/daemon.json编辑 /etc/docker/daemon.json。已有其他字段时应合并 JSON,不要覆盖原配置:{ "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "5", "compress": "true" }}该示例表示单个日志文件达到 20 MB 后滚动,最多保留 5 个文件,并压缩轮转文件。数值应根据磁盘容量、排障需求和应用输出量调整。修改后先校验格式,再在维护窗口重启 Docker:python3 -m json.tool /etc/docker/daemon.jsonsudo systemctl restart docker默认配置通常只影响重建后的容器,已存在的容器不一定自动继承。生产环境应先记录容器清单,再通过既有编排流程逐个重建,避免一次性操作造成中断。在 Compose 中显式指定重要服务可在 compose.yaml 中声明策略,减少宿主机默认配置变化造成的差异:services: web: image: nginx:stable loggin
直达链接: https://www.nodeseek.com/post-875040-1