一,docker 日誌說明
docker容器在執行一定時間後會產生大量的日誌,導致磁碟空間問題出現。
現在有2個方案可以限制docker容器日誌檔案大小及個數
二,容器範圍內
docker run或dokcer create時新增引數
如建立並執行
docker run --log-opt max-size=10m --log-opt max-file=3
三,全域性範圍內
修改docker daemon.json檔案,配置日誌檔案引數
預設 /etc/docker/daemon.json
}
systemctl daemon-reload
systemctl restart docker
注意:新建立的容器會生效,原有容器不生效。
引數說明
引數 說明
log-opts max-size 容器日誌檔案上限大小
log-opts max-file 視窗日誌檔案上限個數
四,查出docker容器日誌並刪除指令碼
預設查詢目錄 /var/lib/docker/containers/
#!/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 *****==="
docker容器正在執行的話,使用rm -rf方式刪除日誌後,通過df -h會發現磁碟空間並沒有釋放。
原因是通過rm -rf刪除,將會從檔案系統的目錄結構上解除鏈結(unlink)。
如果檔案是被開啟的(有乙個程序正在使用),那麼程序將仍然可以讀取該檔案,磁碟空間也是一直被占用。
正確操作覆蓋操作 *cat /dev/null > -json.log。
或者可以通過rm -rf刪除後重啟docker容器。
docker配置日誌自動清理
一 簡述 隨著系統的執行,每個docker容器都會產生大量的日誌,如果不做清理對系統磁碟將是乙個很大的壓力,特別是當系統日誌已經利用elk工具棧做過分析儲存後,磁碟上的日誌就更沒有存在的必要性。因為預設情況下,每個docker容器的日誌檔案都配置的是大小不限,乙個容器乙個日誌檔案,當日誌檔案過大時,...
docker清理日誌
docker 用久了 日誌一大堆,很占用空間,不用的日誌可以清理掉了。docker logs f container name 噼里啪啦 一大堆,太對,清理掉 找到對應container的日誌檔案,一般是在 var lib docker containers containerid containe...
docker日誌清理
前言 docker執行久了,會發現它的對映磁碟空間爆滿,尤其是yum安裝的docker的 解決方法 1.用指令碼清理,一般yum安裝的docker,其儲存空間一般都在 var lib docker containers下面,不同id對應不同容器,這個適用於docker容器執行時 下面是樣本 bin ...