在我的Dockerfile中,我有:
ENV ENVIRONMENT=$ENVIRONMENT
CMD NODE_ENV=$ENVIRONMENT npm run serve
但是,我需要在服务之前运行另一个命令,并确保也为该命令设置了NODE_ENV。 我尝试过:
ENV ENVIRONMENT=$ENVIRONMENT
RUN NODE_ENV=$ENVIRONMENT npm run upgrade
CMD NODE_ENV=$ENVIRONMENT npm run serve
但是,似乎未为RUN设置NODE_ENV。
我想念什么?
(注意:已删除已编辑标签)
答案 0 :(得分:2)
在RUN语句中设置的环境变量不会持续存在。
这就像您打开外壳程序,设置环境变量并再次关闭外壳程序会话一样。下一个外壳程序将没有您在上一个外壳程序会话中设置的环境变量。
如何解决此问题?在您的dockerfile中将NODE_ENV变量添加为ENV
ENV ENVIRONMENT=$ENVIRONMENT \
NODE_ENV=$ENVIRONMENT
RUN npm run upgrade
CMD npm run serve