Dockerfile中的Env变量

时间:2019-08-31 14:18:59

标签: node.js docker dockerfile

我正在尝试对基本的nodejs应用进行docker化。 我的dockerfile是以下

FROM node:10

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 80
CMD [ "node", "index.js" ]

构建图像后,我尝试使用

运行它
docker run -p 3000:3000 imagename -e connectionString=myConnString

但是我总是收到相同的错误

[eval]:1
connectionString=myConnString

ReferenceError: myConnString is not defined

我该如何解决?

2 个答案:

答案 0 :(得分:1)

您的docker run命令应为:

docker run -p 3000:3000 -e connectionString=myConnString imagename

-e选项应该在imagename之前。

尝试一下。

答案 1 :(得分:1)

docker run syntaxdocker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...],在IMAGE[:TAG|@DIGEST]之后传递的所有内容都以[COMMAND] [ARG...]的形式传递。

环境变量设置应在run [OPTIONS]中传递,即:docker run -p 3000:3000 -e connectionString=myConnString imagename