在容器运行的过程中,通常会产生大量的日志,尤其是应用程序本身记录了info级别的日志时候,程序的标准输出记录到容器的日志。这样会占用大量的磁盘空间,严重者导致IO异常,最终服务会宕机。
方案一:定期手动清除容器日志文件
1、日志文件位置
Docker 容器日志存储在 /var/lib/docker/,文件格式是json格式,并通过容器ID进行区分。存储路径如下:
/var/lib/docker/containers/ID/ID-json.log
找到位置后执行手动清理即可。
方案二:设置Docker容器日志大小
设置一个容器服务的日志大小上限,一般对新建容器有效。
新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:
# vim /etc/docker/daemon.json { "log-driver":"json-file", "log-opts":{ "max-size" :"50m","max-file":"1" } }
max-size=50m,意味着一个容器日志大小上限是50M,max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。
重启docker守护进程
# systemctl daemon-reload # systemctl restart docker