如何根据环境设置不同的Dockerfile CMD?

时间:2017-02-05 12:58:43

标签: dockerfile

我需要根据我所处的环境设置不同的Dockerfile CMD。在我的特定情况下,我需要运行不同的NPM脚本,具体取决于我是在开发,登台还是生产环境中。我想知道最好的方法是什么?

例如在dev中,我的CMD将是:CMD [" npm"," run"," dev"并且在生产中它将是:CMD [" npm"," run"," prod" ]

1 个答案:

答案 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" ]