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

posted @ 2019-11-25 15:12  linyouyi  阅读(1104)  评论(0编辑  收藏  举报