1、Docker容器启动后日志存放位置
#cat /var/lib/docker/containers/容器ID/容器ID-json.log
#echo >/var/lib/docker/containers/容器ID/容器ID-json.log临时清除日志
注:echo一个空进去,不需要重启容器,但如果你直接删除这个日志,容器并不会释放空间,需要重启容器。这是一个临时解决方案,当然你也可以写定时任务清理。
2、通过docker run的log-opt参数优化日志
docker run -d \
--name example-container \
--log-opt max-size=10m \
--log-opt max-file=3 \
nginx:latest
- max-size=10m:限制单个日志文件的最大大小为 10MB。
- max-file=3:限制日志文件的数量为 3 个。
当日志文件达到10MB时,Docker会自动轮换日志文件,保留最新的3个日志文件。
3、通过docker-compose的max-size选项来实现日志优化
nginx:
image: nginx:1.12.1
restart: always
logging:
driver: "json-file"
options:
max-size: "5g"
需要down然后再up,restar是不会重读到这个配置的重启nginx容器之后,其日志文件的大小就被限制在5GB,再也不用担心了。
4、全局设置docker日志优化
4.1配置daemon.json文件
新建/etc/docker/daemon.json若有就不用新建了,添加log-dirver和log-opts参数,如下:
#vim /etc/docker/daemon.json
{
"log-driver": "json-file",
"log-opts": {"max-size": "500m", "max-file": "3"}
}
max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。
注意:需要重启docker
4.2重启docker服务
# systemctl daemon-reload && systemctl restart docker