2015-02-09 111 views
2

我在Docker容器中永久运行节点应用程序,我如何获取所有console.log输出以显示在控制台上?我是码头工人的初学者,所以我认为用docker登录的最好方法就是简单地登录到stdout。如果有更好的方法可以做到这一点,我可以选择其他解决方案。如何永久地将子进程输出打印到标准输出。

回答

1

forever,与标准node一样,只是简单地登录到stdout,所以你不应该做任何特别的事情。当然,如果您使用docker run -d启动容器,则必须运行docker logs -f myNodeContainer以实际查看实时输出。

1

我刚刚遇到了这个问题,因为我也是第一次永远安装,只用forever server.js就跑了......没什么。

没有节点控制台消息,只是关于没有--minUptime和没有--spinSleepTime的警告。我停止了使用forever stopall的永久进程,并去寻找日志。果然,在永远的日志里是来自我的服务器的所有标准输出。

我以为我错过了一个打印到标准输出的选项,但显然不是。读完这个SO问题后,我启动一个新的终端,再次运行它并且它可以工作 - 它现在将我的服务器消息记录到控制台。

从那时起,我也经历了很多与永远的奇怪问题。就像连续重启脚本一样,即使脚本无法在1000ms内启动(其中一个文件中出现语法错误) - 我会停止它,再次永远运行(相同的选项,相同的源文件),它会按照它的设想运行到(只运行脚本一次)。

不是一个真正的答案(对不起),但这是为了防止任何人寻求信息。

相关问题