Docker设置日志文件的大小和数量。docker容器在运行一定时间后会产生大量日志,从而导致磁盘空间问题。
有两种方案可以限制docker容器日志文件的大小和数量。
当docker run或dokcer在容器范围内创建时添加参数。
例如创建和运行。
docker run --log-opt max -size = 10m --log-opt max -file = 3
全局修改docker daemon.json文件并配置日志文件参数。
默认/etc/docker/daemon.json
{“log -driver“:“JSON -file“、“log -opts“:{“max -size“:“50m“、“max -file“:“1“}修改后,docker需要重新加载配置文件并重启。
CentOS7的运行
SystemCTL守护进程-ReloadSystemCTL重启docker注意:新创建的容器将生效,但原始容器不会生效。
参数描述
参数说明log-opts max-size容器日志文件的最大大小Log -opts max -文件窗口日志文件的最大数量。
找出Docker容器日志并删除脚本默认查找目录/var/lib/docker/containers/
#!/bin/sh echo“= = = = = = =开始清理docker容器logs = = = = = = = = =“logs = $(find/var/lib/docker/containers/-name * -JSON . log)for log in $ logs do echo“clean logs:$ log“cat/dev/null & gt;$ log done echo“= = = = = =结束清理docker容器日志= = = = = =“如果docker容器正在运行,在通过rm -rf删除日志后,您会发现磁盘空间尚未通过DF -H释放..
原因是通过rm -rf删除将取消与文件系统目录结构的链接。
如果文件是打开的(有一个进程正在使用),那么该进程仍然可以读取该文件,并且磁盘空间始终被占用。
正确操作覆盖操作* cat/dev/null》-JSON . log。
或者您可以通过rm -rf删除并重启docker容器。
Docker设置最多3个日志文件和最多5MDocker可以在每个容器中最多保存3个日志文件,每个文件的大小限制为5M。
/etc/docker/daemon.json文件中的以下内容会自动轮换日志:
{“log -driver“:“JSON -file“、“log -opts“:{“max -size“:“5m“、“max -file“:“3“} }配置完成后重新启动docker。
systemctl重新加载docker
总结以上个人经验,希望能给你一个参考,也希望你能支持主机频道zhujipindao。更多内容。
评论前必须登录!
注册