Docker Node JS设置环境

时间:2015-05-19 16:33:03

标签: node.js docker environment-variables

如何使用process.env.mysql-host设置节点ENV docker run

我能以某种方式这样做吗? docker run --mysql-host:127.0.0.1 -p 80:80 -d myApp

我使用FROM node:onbuild作为图片。

3 个答案:

答案 0 :(得分:4)

节点的process.env是包含用户环境的对象。 Docker的CLI允许您使用-e或--env选项为容器设置环境变量。

你可以运行

docker run --env mysql_host=127.0.0.1 -p 80:80 -d myApp

将mysql_host传递给容器。

答案 1 :(得分:3)

我对节点知之甚少,但我认为你只需要这样做:

docker run -e mysql-host=127.0.0.1 -p 80:80 -d myApp

请注意,这将在同一个容器中查找mysql-host,主机上的不是,如果这是您所期望的。我想你真正想做的是:

$ docker run -d --name db mysql
...
$ docker run -d --link db:mysql-host -p 80:80 -d myApp

这将运行链接到db容器的myApp容器,并在myApp容器内可解析为“mysql-host”,而不需要环境变量。

答案 2 :(得分:0)

您还可以在 process.env.mysql-host 中设置节点 ENV dockerfile

FROM node:latest

WORKDIR /home/app

ADD . /home/app

ENV PORT 3000 
ENV mysql-host 127.0.0.1

EXPOSE 3000