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