【发布时间】:2015-04-08 18:36:38
【问题描述】:
我在 docker 容器中永远运行节点应用程序,如何让所有 console.log 输出显示在控制台上?我是 docker 的初学者,所以我认为使用 docker 登录的最佳方式是简单地登录到标准输出。如果有更好更合适的方法来做到这一点,我愿意接受替代解决方案。
【问题讨论】:
标签: node.js logging docker forever
我在 docker 容器中永远运行节点应用程序,如何让所有 console.log 输出显示在控制台上?我是 docker 的初学者,所以我认为使用 docker 登录的最佳方式是简单地登录到标准输出。如果有更好更合适的方法来做到这一点,我愿意接受替代解决方案。
【问题讨论】:
标签: node.js logging docker forever
forever 和标准的node 一样,也只是简单地记录到标准输出,因此您不必做任何特别的事情。当然,如果您使用 docker run -d 启动容器,则必须运行 docker logs -f myNodeContainer 才能真正看到实时输出。
【讨论】:
我刚刚遇到这个问题,因为我也是第一次永久安装,只用forever server.js 运行它并且......什么都没有。
没有节点控制台消息,只有关于没有 --minUptime 和 --spinSleepTime 的警告。我使用forever stopall 停止了永远的进程并开始寻找日志。果然,在永久日志中是我服务器的所有标准输出。
我以为我错过了打印到标准输出的选项,但显然没有。在阅读了这个 SO 问题后,我启动了一个新终端,再次运行它并且它可以工作 - 它现在将我的服务器消息记录到控制台。
从那以后,我也遇到了很多奇怪的问题。就像它不断重新启动脚本一样,即使脚本未能在 1000 毫秒内启动(其中一个文件中存在语法错误) - 我停止它,再次运行(相同的选项,相同的源文件)并且它完成了它应该做的事情to(只运行一次脚本)。
不是真正的答案(抱歉),但这是以防万一有人来寻求信息。
【讨论】: