
Docker 容器跑久了,有时系统盘空间突然变小。顺着目录查下去,常见结果是某个容器的 *-json.log 一直在增长。
这种情况不要先去手动编辑 Docker 的日志文件。更稳的做法,是给默认的 json-file 日志驱动加上大小上限。
先看当前默认日志驱动:
docker info --format '{{.LoggingDriver}}' 如果输出是 json-file,可以编辑 /etc/docker/daemon.json,加入下面这一段:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
} 已经有其它 Docker 配置时,不要直接整段覆盖,只把 log-driver 和 log-opts 合并进去,保证 JSON 格式正确。
保存后重启 Docker:
sudo systemctl restart docker 生产环境重启 Docker 前,先安排维护窗口,避免正在运行的容器被影响。
上面这个配置的意思是:单个日志文件最多 10MB,最多保留 3 个文件。Docker 官方文档也说明,daemon.json 里的 log-opts 选项值要写成字符串,所以 3 也要加引号。
还有一个容易忽略的点:改完默认配置后,只会影响后续新建的容器。已经在跑的容器不会自动套用新日志规则,需要按你的部署方式重建容器。
如果只想给某个新容器单独设置,也可以在启动时加参数:
docker run --log-driver json-file --log-opt max-size=10m --log-opt max-file=3 alpine echo hello




留言评论
暂无留言