13. Docker Log

1. 日誌存儲

Docker在運行時會生成日誌,一般在/var/lib/docker/containers/下,在該目錄下會根據容器的ID建立文件夾,每個文件夾下存儲每個容器的相關文件。其中包括日誌。

2. 日誌查看

docker logs -f CONTAINERID
使用該命令可以查看容器的實時日誌且會動態更新。

3. 日誌限制

vi /etc/docker/daemon.json

{
"log-driver":"json-file",

"log-opts": {"max-size":"500m","max-file":"3"} #表示最多3個,日誌文件大小爲500M的 
}

之後重啓docker容器

systemctl daemon-reload

systemctl restart docker

4. 查看日誌大小

find /var/lib/docker/containers/ -name *-json.log |xargs du -sh

5. 日誌清理

docker容器運行時,使用rm的方式刪除日誌文件,是無用的,磁盤空間仍會被佔用。
因爲在Linux中,使用rm刪除文件,只是從文件系統的目錄結構上解除鏈接。如果有一個進程正在使用這個文件,進程將仍然可以讀取該文件,磁盤空間也會一直被佔用。

可以像處理tomcat的日誌的方式對容器日誌進行清空或切割。

clean_dockerlog.sh

#!/bin/sh 

logs=`find /var/lib/docker/containers/ -name *-json.log`  

for docker_log in $logs  
do  
echo " "  > $docker_log  
done  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章