【发布时间】:2020-08-20 12:41:30
【问题描述】:
我正在尝试在这样的 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 &
【问题讨论】:
-
如果在入口点脚本中使用
&将两个进程置于后台,脚本将执行此操作然后退出。你需要一个前台进程。你应该在前台留下一个,使用wait,使用supervisord等。见docs.docker.com/config/containers/multi-service_container -
谢谢。我已从上一个命令中删除 & 以使进程不退出。
标签: node.js bash docker docker-entrypoint