Docker 清理和设置限制容器 log 日志大小
docker logs <容器ID> 是常用命令,来查看容器运行日志,但时间长了之后,就会发现越来越慢,log 太多了,这时就需要清理一下。
先查看日志文件位置:
$ docker inspect --format='{{.LogPath}}' <容器ID> /var/lib/docker/containers/545e06a75cc0ac8f8c1e6f7217455660187124a3eed031b5eb2f6f0edeb426cb/545e06a75cc0ac8f8c1e6f7217455660187124a3eed031b5eb2f6f0edeb426cb-json.log
然后清除日志内容:
echo > 日志路径
用一条命令简写:
$ echo "" > $(docker inspect --format='{{.LogPath}}' <容器ID>)
查看日志时可以指定看最新的n条:
docker logs --tail=100 <容器ID>
也可以修改docker配置文件 daemon.json 限定log文件的大小:
{ "log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "3"} } //然后重启docker: systemctl reload docker
注意:老版本的可能会报下面的错误导致docker启动不起来
dockerd-current[5325]: Failed to set log opts: unknown log opt 'max-size' for journald log driver
解决:
[root@iot-console ~]# vim /etc/sysconfig/docker OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false' 改为 OPTIONS='--selinux-enabled --log-driver=json-file --signature-verification=false'
转: https://www.jianshu.com/p/dc6136be3ff6