一文教你徹底解決Docker日志膨脹
最近,我發(fā)現(xiàn)一臺服務(wù)器的磁盤空間即將耗盡。經(jīng)過排查,發(fā)現(xiàn)某個 Docker 容器在一年內(nèi)生成了14 GB 的日志文件。為避免類似問題,本文將指導你如何快速檢查、清理 Docker 日志,并設(shè)置日志大小限制以防止未來日志失控。
重啟容器(如服務(wù)器重啟或手動執(zhí)行 systemctl restart docker)不會清除日志,日志文件會持續(xù)累積。
重建容器(刪除并重新創(chuàng)建容器)才會重置日志。
檢查 Docker 日志大小
默認日志路徑:
/var/lib/docker/containers/<容器ID>/<容器ID>-json.log
使用以下命令按大小排序查看所有日志文件:
find /var/lib/docker/containers/ -name "*-json.log" | xargs du -h | sort -hr
示例輸出:
5.9G /var/lib/docker/containers/d2e92.../d2e92...-json.log
4.9G /var/lib/docker/containers/ec7a4.../ec7a4...-json.log
根據(jù)容器 ID 查找容器名稱
使用docker inspect命令:
docker inspect --format='{{.Name}}' <容器ID>示例輸出:
/php-fpm-valente
(注意:輸出結(jié)果會以斜杠開頭,實際容器名為php-fpm-valente)
清理 Docker 日志
清理單個日志文件:``` truncate -s 0 /var/lib/docker/containers/<容器ID>/<容器ID>-json.log
清理所有日志文件(謹慎使用):``` truncate -s 0 /var/lib/docker/containers//-json.log
設(shè)置日志大小限制
1.編輯 Docker 守護進程配置文件/etc/docker/daemon.json(若不存在則新建):
sudo nano /etc/docker/daemon.json
2.添加以下內(nèi)容(限制單個日志文件為 10MB,保留最多 3 個歸檔文件):
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }
3.重啟 Docker 服務(wù)以生效:
sudo systemctl restart docker
**注意**:此配置僅對新創(chuàng)建的容器生效...
驗證配置
使用以下命令檢查容器的日志配置:
docker inspect <容器名稱> | grep -A 4 LogConfig
示例輸出:
"LogConfig": {
"Type": "json-file",
"Config": {
"max-file": "3",
"max-size": "10m"
}
}
總結(jié)
- 定期檢查日志大小,避免磁盤空間耗盡。
- 通過
daemon.json配置日志輪轉(zhuǎn),限制日志文件大小。 - 清理日志時優(yōu)先使用
truncate,避免直接刪除文件導致容器異常。
遵循以上實踐,可有效管理 Docker 日志,提升服務(wù)器資源利用率和穩(wěn)定性。
到此這篇關(guān)于一文教你徹底解決Docker日志膨脹的文章就介紹到這了,更多相關(guān)Docker解決日志膨脹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker配置文件daemon.json配置國內(nèi)源的實現(xiàn)
本文主要介紹了Docker配置文件daemon.json配置國內(nèi)源的實現(xiàn),通過編輯daemon.json文件添加鏡像地址、重啟服務(wù)及驗證步驟,提升鏡像拉取效率,感興趣的可以了解一下2025-08-08
docker容器單機創(chuàng)建3個節(jié)點的MySQLMGR集群方式
本文檔詳細介紹了如何在單機上使用Docker創(chuàng)建一個包含三個節(jié)點的MySQL MGR集群,通過一系列步驟,包括安裝Docker、配置MySQL MGR以及啟動多個容器,成功構(gòu)建了一個高可用的MySQL集群環(huán)境2026-01-01
docker報錯x509:certificate has expired or
這篇文章主要介紹了docker報錯x509:certificate has expired or is not yet valid問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
Docker Swarm自動擴容的陷阱(3個致命誤區(qū))
本文主要介紹了Docker Swarm自動擴容的陷阱(3個致命誤區(qū)),包括聲明式服務(wù)模型、資源均衡分配策略及容錯機制,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2026-04-04

