限制&&清除容器日志

设置Docker容器日志文件大小限制

1.新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:

# vim /etc/docker/daemon.json

{
  "registry-mirrors": [
    "<https://sucejt9z.mirror.aliyuncs.com>"
  ],
  "log-driver":"json-file",
  "log-opts": {"max-size":"200m", "max-file":"3"}
}
{
  "log-driver":"json-file",
  "log-opts": {"max-size":"200m", "max-file":"3"}
}

max-size=200m,意味着一个容器日志大小上限是200M, 
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。



2.然后重启docker的守护线程

命令如下:

sudo systemctl daemon-reload
sudo systemctl restart docker


【需要注意的是:设置的日志大小规则,只对新建的容器有效】

Container Log 預設路徑如下:

*/var/lib/docker/containers/<container-id>/**<container-id>*json.log

可以利用下列指令進行清除。

設定 Log 文件容量上限

每次都手動清除是件很蠢的事,可以將設定檔放置於 etc/docker/daemon.json,若無此文件,則需額外新增,設定值可參考下列內容:

接著利用下列指令重新載入,之後建立新的 Container 就會套用了。

清理 Log Script

如果想使用排程進行 Log 的清理,可將下列 Script 存成 sh 檔後執行。

最后更新于

这有帮助吗?