繁体   English   中英

在Docker容器中运行bash脚本

[英]Running a bash script inside a Docker container

运行docker容器后如何启动脚本。

这是我的Dockerfile的一部分:

FROM nodesource/trusty:0.10.30
RUN mkdir /opt/app/ && cd /opt/app/
ADD ./api/package.json /opt/app/package.json
RUN cd /opt/app/ && npm install
ADD ./api/src /opt/app/src
RUN npm -g install pm2
WORKDIR /opt/app/src
ADD start.sh start.sh
RUN chmod 755 /opt/app/src/start.sh
CMD ./opt/app/src/start.sh

并且start.sh包含:

#!/usr/bin/env bash
cd /opt/app/src
node app.js --env=dev:
pm2 updatePM2
pm2 startup
pm2 save

PS:当我登录到容器后启动脚本时,它可以正常运行,但是不能直接从Dockerfile调用它时

路径不是CMD的有效参数。 它应该是:

CMD ["./opt/app/src/start.sh"]

您已将WORKDIR/opt/app/src然后尝试使用./相对于该位置运行脚本。 这意味着您正在尝试运行/opt/app/src/opt/app/src/start.sh

尝试

CMD /opt/app/src/start.sh

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM