天天看點

Docker容器日志清理

背景

docker容器在運作過程中會産生日志,日志的量跟具體的容器有關。

比如最近在工作中用到了selenium和scrapyd等容器,運作過程中産生的日志特别多,剛開始部署服務沒在意日志的設定,一段時間後直接導緻伺服器磁盤存儲占用達到100%,程式崩潰。

是以有必要對容器日志做出限制或定期清理等方案。

日期清理方案

确定日志存儲位置

對于linux,我用的是centos7,容器日志的存放位置為 /var/lib/docker/containers/<container_id>/ ,日志檔案名字格式為 <container_id>-json.log 。

如下圖,檔案的大小為位元組。

Docker容器日志清理

清理日志

手動清理

編寫腳本

#!/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 ========"  
           

繼續閱讀