1.首先找到我们docker日志文件目录,一般都在docker/containers/容器id
清理日志文件的方法有很多种
- 可以在 docker/containers/容器id 目录下执行 cat /dev/null > *-json.log 这样可以单独清理正在运行的日志文件
- 在/docker/containers/目录下新建查看各个容器日志文件大小的Shell脚本,
首先 Vim docker_log_size.sh
内容: 一定要以 #!/bin/sh开头#!/bin/sh echo "======== docker containers logs file size ========" logs=$(find /data/docker/lib/docker/containers/ -name *-json.log) for log in $logs do ls -lh $log done [root@localhost containers]# chmod +x docker_log_size.sh (添加运行权限(+x)) [root@localhost containers]# ./docker_log_size.sh (运行脚本)
3.在/docker/containers/目录下提供一个日志清理的Shell脚本,
首先 Vim clean_docker_log.sh
内容:
#!/bin/sh
echo "=================== start clean docker containers logs =========================="
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs;
do
echo "clean logs:"
echo $log
cat /dev/null>$log
done
echo "==================== end clean docker containers logs =========================="
echo `date`
[root@localhost containers]# chmod +x clean_docker_log.sh (添加运行权限(+x))
[root@localhost containers]# ./clean_docker_log.sh (运行脚本)
执行 ./clean_docker_log.sh 就可以清理目录下的所有容器的日志文件