在一个docker容器中同时启动两个节点脚本

时间:2017-07-12 16:41:10

标签: node.js docker

这样可以在一个docker容器中运行两个node.js脚本吗?

docker run -d --name nt -v "$PWD":/usr/src/app -w /usr/src/app node node 2.js && node 1.js

这两个都没有:

docker run -d --name nt -v "$PWD":/usr/src/app -w /usr/src/app node node 2.js node 1.js

或者这是不是意味着什么?

1 个答案:

答案 0 :(得分:1)

首先,使用&代替&&。一个&表示"将命令发送到后台"。
其次,使用引号来告诉bash不解释&,并将解释留给容器内的shell。
第三次使用' sh -c'分组命令(可选)。

这样做:

docker run -d --name nt -v "$PWD":/usr/src/app -w /usr/src/app node sh -c 'node 2.js & node 1.js'

但我建议使用supervisor来获得更强大的解决方案:

https://docs.docker.com/engine/admin/multi-service_container/