Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Dockerfile中的Env变量_Node.js_Docker_Dockerfile - Fatal编程技术网

Node.js Dockerfile中的Env变量

Node.js Dockerfile中的Env变量,node.js,docker,dockerfile,Node.js,Docker,Dockerfile,我正在尝试对一个基本的nodejs应用程序进行dockerize。 我的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=myCon

我正在尝试对一个基本的nodejs应用程序进行dockerize。 我的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

如何解决此问题?

您的docker run命令应为:

docker run -p 3000:3000 -e connectionString=myConnString imagename
-e
选项应位于
imagename
之前


试试看。

docker run是
docker run[OPTIONS]IMAGE[:TAG | DIGEST][COMMAND][ARG…]
,在
IMAGE[:TAG | DIGEST]
之后传递的任何内容都作为
[COMMAND][ARG ARG code>传递


应在
run[OPTIONS]中传递环境变量设置
i.e.
docker run-p 3000:3000-e connectionString=myconstring imagename
-e connectionString=myconstring
应在
docker run
中传递
i.e.
docker run-p 3000:3000-e connectionString=myconstring imagename
-在
image:tag
之后传递的任何内容都作为
[COMMAND][ARG…]
入口点
(如果有)参考。太好了。看来这是我的错误!