[英]Execute two node commands from a bash file as Docker CMD
我正在尝试从名为start.sh
的文件运行 nodejs 应用程序。
我正在使用这个文件,因为我想以串行方式执行两个进程作为 Dockerfile 中的 CMD。
这是内容:
#!/bin/sh
node /get-secrets.mjs -c /secrets-config.json -t /.env.production
npm run start -p 8000
如您所见,我想执行两件事:
commander.js
的小脚本,两个读取标志-c
和-t
(分别为--config 和--target)。 这些标志接收字符串参数来定位文件。我不知道我应该如何编写这个文件,因为这些命令在我的机器上工作,但在容器中,我的格式似乎是错误的。
这是迄今为止的问题:
我应该如何将参数传递给 mjs 脚本?
如果其他人觉得这个有用,我用这个解决了我的问题:
FROM node:16.14-alpine
# Dependencies that my script needs
RUN npm i -g @aws-sdk/client-secrets-manager@3.121.0 commander@9.3.0
# Folder for my source code
WORKDIR /app
# SOME OTHER COMMANDS
# ...
# In this folder I have the start.sh and the get-secrets.mjs files
COPY ${SOURCE_PATH}/server-helpers/* ./
# This was required since I am working on windows
RUN sed -i -e 's/\r$//' start.sh
RUN chmod +x start.sh
ENTRYPOINT ["/app/start.sh" ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.