docker 日誌配置與清理

2022-09-14 14:27:07 字數 1231 閱讀 2905

一,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 ...