运行 docker 中的 nodejs 应用程序,将标准输出重定向到文件
running nodejs app in docker with redirecting standard output to a file
我已经为 运行 一个 nodejs 应用程序创建了一个 Dockerfile,并希望将其标准输出重定向到这样一个文件:
CMD [ "node", "app.js", ">", "/usr/src/kuku.out", "2>&1"]
但是文件 kuku.out 没有被创建。
您需要使用 CMD
指令的 the "shell" form,因为重定向是 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形式基本相同)
另一种方法是使用 logging plugins 之一来重定向应用程序输出。
有关使用 fluentd 驱动程序的人为示例:
- How to run jar file using docker file in docker container
我已经为 运行 一个 nodejs 应用程序创建了一个 Dockerfile,并希望将其标准输出重定向到这样一个文件:
CMD [ "node", "app.js", ">", "/usr/src/kuku.out", "2>&1"]
但是文件 kuku.out 没有被创建。
您需要使用 CMD
指令的 the "shell" form,因为重定向是 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形式基本相同)
另一种方法是使用 logging plugins 之一来重定向应用程序输出。
有关使用 fluentd 驱动程序的人为示例:
- How to run jar file using docker file in docker container