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