docker日志设置定期清理
docker日志设置定期清理1. 日志的查看docker logs具体的参数,请查看help命令。docker logs --help2. 清除日志文件docker日志的存储位置:/var/lib/docker/containers/<容器ID>/*.log。 通过ll可以查出来一堆容器名字出来,但是如何知道这么长的日志目录属于那些容器所有呢?可以通过docker ps
·
docker日志设置定期清理
1. 日志的查看
docker logs具体的参数,请查看help命令。
docker logs --help
2. 清除日志文件
docker日志的存储位置:/var/lib/docker/containers/<容器ID>/*.log。通过ll可以查出来一堆容器名字出来,但是如何知道这么长的日志目录属于那些容器所有呢?
我们会发现查询的[容器ID] 和 [日志文件的目录] 是相同的
a) 查看所有容器日志文件大小:
ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
b) 临时清理日志文件:
truncate -s 0 /var/lib/docker/containers/<容器ID>/*-json.log
当然也可以这样:
cat /dev/null > *-json.log
注意:rm -rf *-json.log 删除后需要重启容器。如果容器运行的情况下,linux进程会引用着, 不会释放磁盘空间的。
3. 日志设置
a) 在dokcer的配置文件中增加日志参数添加log-dirver和log-opts参数;
$ vi /etc/docker/daemon.json
"log-driver":"json-file",
"log-opts":{ "max-size" :"50m","max-file":"3"}
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json
b) 重启生效
sudo systemctl daemon-reload
sudo systemctl restart docker
只针对于新创建的docker有效
4. 日志收集
可以使用fluentd收集。
具体请参照:https://www.cnblogs.com/YatHo/p/7866029.html
更多推荐
已为社区贡献2条内容
所有评论(0)