Docker容器日誌清理

2021-09-27 09:57:38 字數 1156 閱讀 4338

如何清理docker占用的磁碟空間? - dockone.io

補充:檢視docker日誌檔案,單獨列出每個容器的日誌檔案大小。

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

docker容器所在目錄 /var/lib/docker

docker的/var/lib/docker目錄遷移 - 熊小熊的個人頁面 - oschina

設定docker容器日誌大小(治本)

4.1 設定乙個容器服務的日誌大小上限

在啟動容器的時候增加乙個引數設定該容器的日誌大小,及日誌驅動

--log-driver json-file  #日誌驅動

--log-opt max-size=[0-9+][k|m|g] #檔案的大小

--log-opt max-file=[0-9+] #檔案數量

4.2 編輯檔案/etc/docker/daemon.json, 增加以下日誌的配置

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

"log-opts":

max-size=500m,意味著乙個容器日誌大小上限是500m,

max-file=3,意味著乙個容器有三個日誌,分別是id+.json、id+1.json、id+2.json。

4.3 然後重啟docker守護程序

systemctl daemon-reload

systemctl restart docker

注意:設定的日誌大小,只對新建的容器有效。

刪除docker容器(正在執行的,避免影響線上)日誌的時候,盡量不用rm

如果docker容器正在執行,那麼使用rm -rf 方式刪除日誌後,通過df -h會發現磁碟空間並沒有釋放

原因:在linux或者unix系統中,通過rm或者檔案管理器刪除檔案將會從檔案系統的目錄結構上解除鏈結(unlink).然而如果檔案是被開啟的(有乙個程序正在使用),那麼程序將仍然可以讀取該檔案,磁碟空間也一直被占用。

方案:採用 truncate -s 0 日誌名 來處理,這樣清理出了空間,同時不影響線上環境。若執意要用rm刪除,就必須重啟docker,這樣影響線上環境。

Docker容器日誌清理

docker容器導致主機磁碟空間滿了 如何清理docker容器日誌?如何找出docker容器日誌檔案 容器日誌一般存放在 var lib docker下面,可使用如下命令檢視各個日誌的檔案大小 ls lh find var lib docker containers name json.log 如何...

Docker容器日誌檢視與清理

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

清理docker容器的日誌大小

date 2019 04 08 13 57 40 1.問題 docker容器日誌導致主機磁碟空間滿了。docker logs f container name 發現大量日誌占用空間,不用的日誌可以清理掉了。2.解決方法 2.1 查出docker容器日誌並刪除指令碼 在linux上,容器日誌一般存放在...