【问题标题】:How to save node-red console logs into a separate log file within docker如何将节点红色控制台日志保存到 docker 中的单独日志文件中
【发布时间】:2017-10-19 09:11:37
【问题描述】:

我有一个 node-red 的 docker 实例,我想将 node-red 控制台日志保存到 docker 容器内的单独日志文件中。有什么方法可以做到吗?

【问题讨论】:

  • 在不知道如何在 docker 容器中启动 node-red 的情况下很难回答这个问题
  • 我正在使用 kubernetes 在 docker 中启动 node-red。我可以在容器中保存节点红色日志吗?
  • 这是您启动容器的方式,而不是您启动 Node-RED 的方式

标签: logging docker node-red


【解决方案1】:

使用 nodered.service 进行自动启动,您可以取消注释参数 StandardOutput=syslog,所有日志将直接进入 /var/log/syslog 文件。

【讨论】:

    【解决方案2】:

    Node-RED 进程目前仅记录到控制台,但您可以使用普通的 unix 重定向将输出重定向到文件,例如

    node-red > /path/to/log/file
    

    Raspbian 上的 Node-RED 服务使用 systemd 将输出重定向到带有标识符“Node-RED”的 syslog,因此也可以将其定向到单独的文件。

    标准的 Node-RED docker 容器只是将 Node-RED 作为 CMD 启动。您可以使用此处的 docker 文档中的详细信息配置 docker 如何记录该内容:https://docs.docker.com/engine/admin/logging/overview/#configure-the-logging-driver-for-a-container

    如果您想修改 CMD 以将输出重定向到容器内的某个位置,那么这个 SO 问题和答案可能会很有用:Redirecting command output in docker

    【讨论】:

    • node-red > /path/to/log/file 为我工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    相关资源
    最近更新 更多