脚本"/>
在dockerfile中运行bash脚本
我正在尝试像这样在bash脚本中运行多个js文件。这行不通。容器启动,但不运行脚本。但是,当我使用ssh到容器并运行此脚本时,该脚本运行良好,并且出现了节点服务。谁能告诉我我在做什么错?
Dockerfile
FROM node:8.16
MAINTAINER Vivek
WORKDIR /a
ADD . /a
RUN cd /a && npm install
CMD ["./node.sh"]
脚本如下
node.sh
#!/bin/bash
set -e
node /a/b/c/d.js &
node /a/b/c/e.js &
回答如下:正如@hmm所提到的,您的脚本可能已运行,但是您的容器没有等待两个子进程完成。
您可以将node.sh
更改为:
#!/bin/bash
set -e
node /a/b/c/d.js &
pid1=$!
node /a/b/c/e.js &
pid2=$!
wait pid1
wait pid2
结帐https://stackoverflow/a/356154/1086545提供了一个等待子流程完成的更通用的解决方案。
更多推荐
在dockerfile中运行bash脚本
发布评论