在一个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
或者这是不是意味着什么?
首先,使用&
代替&&
。 One &
意为“将命令发送到后台”。
其次,使用引号是为了告诉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'
不过,我build议使用supervisor
来获得更强大的解决scheme:
https://docs.docker.com/engine/admin/multi-service_container/