如何使用process.env.mysql-host
设置节点ENV docker run
?
我能以某种方式这样做吗? docker run --mysql-host:127.0.0.1 -p 80:80 -d myApp
我使用FROM node:onbuild
作为图片。
答案 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