如何使用 moby 限制 Azure Iot Edge 容器中的日志文件大小

How to limit logfile size in Azure IotEdge containers with moby

我的一些模块的日志记录非常冗长,而且日志文件越来越大。

有没有办法指定滚动文件附加程序以将日志文件限制为特定大小?

是的,您可以为此使用标准 docker 配置选项。这里最近发布了一个例子:https://github.com/Azure/iotedge/issues/650#issuecomment-476033302

"createOptions": {
    "HostConfig": {
        "LogConfig": {
            "Type": "json-file",
            "Config": {
                "max-size": "5m",
                "max-file": "2"
            }
        }
    }
}

这会将日志文件大小限制为 5MB 和 2 个文件。

如果您不想对所有模块单独进行设置,您也可以创建一个包含以下内容的文件/etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "5m",
    "max-file": "2"
  }
}

然后您必须使用 sudo systemctl restart docker 重新启动 docker。