背景
docker容器在運作過程中會産生日志,日志的量跟具體的容器有關。
比如最近在工作中用到了selenium和scrapyd等容器,運作過程中産生的日志特别多,剛開始部署服務沒在意日志的設定,一段時間後直接導緻伺服器磁盤存儲占用達到100%,程式崩潰。
是以有必要對容器日志做出限制或定期清理等方案。
日期清理方案
确定日志存儲位置
對于linux,我用的是centos7,容器日志的存放位置為 /var/lib/docker/containers/<container_id>/ ,日志檔案名字格式為 <container_id>-json.log 。
如下圖,檔案的大小為位元組。

清理日志
手動清理
編寫腳本
#!/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 ========"