2017-02-05 69 views
1

我需要設置一個不同的Dockerfile CMD,具體取決於我所處的環境。在我的特殊情況下,我需要運行一個不同的NPM腳本,具體取決於我是否處於開發,暫存或生產環境中。我想知道做這件事的最好方法是什麼?例如在dev中,我的CMD是:CMD [「npm」,「run」,「dev」],在生產中它將是:CMD [「npm」,「run」,「prod」]。如何根據環境設置不同的Dockerfile CMD?

回答

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" ] 
相關問題