我需要根据我所处的环境设置不同的Dockerfile CMD。在我的特定情况下,我需要运行不同的NPM脚本,具体取决于我是在开发,登台还是生产环境中。我想知道最好的方法是什么?
例如在dev中,我的CMD将是:CMD [" npm"," run"," dev"并且在生产中它将是:CMD [" npm"," run"," prod" ]
答案 0 :(得分:0)
您可以将依赖于env的命令包装在脚本中。
cmd.sh
if [ "$ENV" -eq "production" ]; then
npm prod
fi
if [ "$ENV" -eq "development" ]; then
npm dev
fi
而且,在Dockerfile
;
...
COPY cmd.sh /workdir/cmd.sh
...
CMD [ "./cmd.sh" ]