Docker容器日誌檢視與清理的方式

2021-10-23 16:24:17 字數 1897 閱讀 2188

美國第三任**(托馬斯.傑弗遜)曾說過:「不要因為別的人相信或否定了什麼東西,你也就去相信它或否定它。上帝贈予你乙個用來判斷真理和謬誤的頭腦。那你就去運用它吧!」。

在沒有陪你奔跑的日子,努力加油哦!

正常使用docker部署測試環境程式,一直部署不上去。最後發現docker容器執行產生日誌過多,導致了系統儲存爆滿,服務無法正常訪問。(服務中開啟了最高日誌級別debugger)。

日誌分類

日誌分為兩類,一類是docker引擎日誌;另一類是容器日誌。 系統

日誌位置

ubuntu(14.04)

/var/log/upstart/docker.log

ubuntu(16.04)

journalctl -u docker.service

centos 7/rhel 7/fedora

journalctl -u docker.service

coreos

journalctl -u docker.service

opensuse

journalctl -u docker.service

osx~/library/containers/com.docker.docker/data/com.docker.driver.amd64-linux/log/d‌​ocker.log

debian gnu/linux 7

/var/log/daemon.log

debian gnu/linux 8

journalctl -u docker.service

boot2docker

/var/log/docker.log

查詢全部容器的日誌檔案

find /var/lib/docker/containers -name *

.log

檢視日誌位置

docker inspect --format=

'}'

實時查詢內容

tail -f `docker inspect --format=

'}'`

檢視容器日誌大小 — logs_file_size.sh

echo

"*****=== docker containers logs file size *****==="

logs=

$(find /var/lib/docker/containers/ -name *-json.log)

for log in

$logs

dols -lh $log

done

清理日誌 — clean_containers_logs.sh

echo

"*****=== start clean docker containers logs *****==="

logs=

$(find /var/lib/docker/containers/ -name *-json.log)

for log in

$logs

doecho

"clean logs : $log"

cat /dev/null >

$log

done

echo

"*****=== end clean docker containers logs *****==="

cat /dev/null > log

表示

將log 表示將

log表示將

log的檔案內容清空

可通過 sh logs_file_size.sh 和 sh clean_containers_logs.sh 執行兩個shell指令碼。

參考文章:

Docker容器日誌檢視與清理

全域性設定 參考文章 docker容器日誌導致主機磁碟空間滿了。docker logs f container name噼里啪啦一大堆,很占用空間,不用的日誌可以清理掉了。在linux上,容器日誌一般存放在 var lib docker containers container id 下面,以jso...

Docker容器日誌檢視與清理的方法

1.問題 docker容器日誌導致主機磁碟空間滿了。docker logs f container name噼里啪啦一大堆,很占用空間,不用的日誌可以清理掉了。2.解決方法 2.1 找出docker容器日誌 在linux上,容器日誌一般存放在 var lib docker containers co...

Docker容器日誌檢視與清理(親測有效)

docker容器日誌導致主機磁碟空間滿了。docker logs f container name噼里啪啦一大堆,很占用空間,不用的日誌可以清理掉了。在linux上,容器日誌一般存放在 var lib docker containers container id 下面,以json.log結尾的檔案 ...