eenvsubst不替代变量值

时间:2017-01-05 20:18:43

标签: javascript json docker environment-variables

我有一个环境变量,它是一种json表示形式

export ENV={"outer":{"inner":{"key":"apiValue"}}}

当我使用envsubst

替换此值时
envsubst < testenv > testapp

替换为空字符串

testenv

JSON.parse($ENV).outer.inner.key

testapp

JSON.parse().outer.inner.key

但是,如果我将它设置为一个简单的值,如export $ ENV = syz,这将按预期工作。这可以实现吗?

这是一个完整的dockerfile

FROM nodesource/jessie:0.12.7

MAINTAINER 


# Create app directory 
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# cache package.json and node_modules to speed up builds
ADD src src
ADD package.json package.json
ADD node_modules node_modules

# Install packages for envsubst
RUN apt-get update && apt-get upgrade -y --force-yes && rm -rf /var/lib/apt/lists/*;
RUN apt-get update
RUN apt-get install -y gettext-base

# Substitute dependencies from environment variables
RUN rm src/js/app.js
RUN envsubst < src/js/envapp.js > src/js/app.js
RUN npm install

EXPOSE 8000
CMD [ "npm", "start"]

0 个答案:

没有答案