2017-02-05 16 views
1

環境に応じて別のDockerfile CMDを設定する必要があります。私の場合、開発者、ステージング環境、本番環境のどちらにあるかによって、別のNPMスクリプトを実行する必要があります。私はこれを行うための最良の方法は何だろうと思っていた?環境に応じて異なるDockerfile CMDを設定するにはどうすればよいですか?

たとえば、私のCMDは次のようになります。CMD ["npm"、 "run"、 "dev"]、そしてプロダクションではCMD ["npm"、 "run"、 "prod"]です。

答えて

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" ] 
関連する問題