这样可以在一个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
或者这是不是意味着什么?
答案 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/