在Docker中运行nodejs应用程序,将标准输出redirect到文件
我已经创build了一个Dockerfile来运行nodejs应用程序,并且希望将其标准输出redirect到如下所示的文件: CMD [ "node", "app.js", ">", "/usr/src/kuku.out", "2>&1"]
usr/src/kuku.out CMD [ "node", "app.js", ">", "/usr/src/kuku.out", "2>&1"]
但文件kuku.out没有被创build。
您需要使用CMD
指令的“shell”forms ,因为redirect是shell结构:
CMD node app.js > /usr/src/kuku.out 2>&1
或者自己明确地启动一个shell:
CMD [ "sh", "-c", "node app.js > /usr/src/kuku.out 2>&1" ]
(这与shell的forms基本相同)
另一种方法是使用其中一个日志插件redirect应用程序输出。
对于一个使用fluentd驱动的人为的例子:
- 如何在Docker容器中使用docker文件运行jar文件