我要求在应用程序运行之前,它的某些部分需要读取环境变量.为此,我有以下docker文件
FROM nodesource/jessie:0.12.7
# install gettext for envsubst
RUN apt-get update
RUN apt-get install -y gettext-base
# cache package.json and node_modules to speed up builds
ADD package.json package.json
RUN npm install
# Add source files
ADD src src
# Substiture value for backend endpoint env var
RUN envsubst < src/js/envapp.js > src/js/app.js
ADD node_modules node_modules
EXPOSE 8000
CMD ["npm","start"]
上面的envsubst行读取(应该读取)一个env变量$MYENV并替换它.但是当我打开文件app.js时,它是空的.
我检查了容器中是否存在环境变量,它确实存在.是什么原因,它的价值不被读取和替换?
我也在teh容器中尝试了相同的命令,它可以工作.它只在我运行图像时不起作用
最佳答案