1、找出docker容器日志
在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面, 以json.log結尾的文件(業務日志)很大,查看各個日志文件大小的腳本docker_log_size.sh,內容如下:
#!/bin/sh echo?"========?docker?containers?logs?file?size?========" logs=$(find?/var/lib/docker/containers/?-name?*-json.log) for?log?in?$logs do ls?-lh?$log done
執行如下命令:
#?chmod?+x?docker_log_size.sh #?./docker_log_size.sh
2、清理Docker容器日志
如果docker容器正在運行,那么使用rm -rf方式刪除日志后,通過df -h命令會發現磁盤空間并沒有釋放。
原因是在Linux或者Unix系統中,通過rm -rf或者文件管理器刪除文件,將會從文件系統的目錄結構上解除鏈接(unlink)。如果文件是被打開的(有一個進程正在使用),那么進程將仍然可以讀取該文件,磁盤空間也一直被占用。
正確方法是cat /dev/null > *-json.log,當然你也可以通過rm -rf刪除后重啟docker。接下來,提供一個日志清理腳本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?:?$log" cat?/dev/null?>?$log done echo?"========?end?clean?docker?containers?logs?========
然后執行如下命令:
#?chmod?+x?clean_docker_log.sh #?./clean_docker_log.sh
推薦教程:docker教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦