一、问题背景
在项目中,发现磁盘占用空间过大,或需要查看docker日志时,发现日志太多,需要进行清理,重新生成日志。
[
Docker version 24.0.5, build ced0996
You have mail in /var/spool/mail/root
二、清空日志
1、查看容器日志的路径
docker inspect --format='{{.LogPath}}' 容器名或ID
[root@YLMS overlay2]# docker inspect --format='{{.LogPath}}' 112f45563a0c
/var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log
You have mail in /var/spool/mail/root
[root@YLMS overlay2]# ls -alh /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log
-rw-r----- 1 root root 15G Mar 7 13:49 /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dec
可以发现,该容器的日志大小为15G,应该从容器创建以来,从未清理过日志文件。
2、清理该容器的日志
> 日志文件
[root@YLMS overlay2]# > /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log
[root@YLMS overlay2]# ls -alh /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log
-rw-r----- 1 root root 3.4K Mar 7 13:51 /var/lib/docker/containers/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06/112f45563a0ca399331aa2a069e3fe89347b2dece95731ef990d6576475dda06-json.log
3、验证容器日志是否清理完成
docker logs -f 容器名/容器ID
若很快加载出来最新日志信息,则清理成功。
三、查看日志的常见命令
docker logs -f xxx 实时刷新日志信息
docker logs -f xxx > xxx.log 输出到文件离线分析
docker logs --since 30m 112f45563a0c 查看最近30分钟的日志