javascript - 如何将 dockerfile 环境变量传递给node.js 文件?

标签 javascript node.js docker environment-variables

如何将dockerfile环境变量传递给node.js文件?我按照 docker 文档传递 ENV 变量,但没有传递任何变量。对这个问题有什么见解吗?


docker 文件:

FROM 10.118.224.132:5000/node:8.6.0-wheezy

ENV PORT 6000
ENV iamIP2="10.118.225.199"
ENV iamPort 9999
ENV iamPort2=9997
RUN apt-get update

WORKDIR /usr/src/app
COPY package.json /usr/src/app
COPY . .  

ENV mongoDBurl=10.118.225.149:27017/globalIndex
CMD ["node", "server.js"]

服务器.js:

"use strict";   

const fs = require('fs');
const http = require('http');
const cors = require('cors');
const request = require('request');

const link1  = process.env.PROXY_IAM_URI;
const iamIP ="10.118.225.164"; console.log("iamIP: " + iamIP);
//const iamIP = /\d+.\d+.\d+.\d+/g.exec(link1)[0]; console.log("iamIP: "+iamIP);
//const iamPort = /\d{2,}$/g.exec(link1)[0]; console.log("iamPort "+ iamPort);
const iamPort =0; console.log("iamPort "+ iamPort);

var iamIP2 ; console.log("iamIP2 "+ iamIP2);
var iamPort2 ; console.log("iamPort2 "+ iamPort2);

console.log(响应):

[stdout][20d97485] iamIP: 10.118.224.164
[stdout][20d97485] iamPort 0
[stdout][20d97485] iamIP2 undefined
[stdout][20d97485] iamPort2 undefined

最佳答案

您应该能够使用 process.env 在 Node.js 中获取它们

process.env.iamIP2      // "10.118.225.199"
process.env.iamPort     // 9999
process.env.iamPort2    // 9997
process.env.mongoDBurl  // 10.118.225.149:27017/globalIndex

关于javascript - 如何将 dockerfile 环境变量传递给node.js 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46981435/

相关文章:

javascript - 在 href Click 上加载 Google map 中的位置

javascript - 比较两个不同长度的数组并排除匹配项

javascript - node.js Gmail API : Getting Inline/Embedded images

ruby-on-rails - Dockernized Nginx +(Rails + Unicorn)+ Redis + PostgreSQL:connect()失败(111:连接被拒绝)

javascript - 如何使用 Angular.js 显示有限的数据?

javascript - 如何在 JS/JQuery 中迭代 Xpath

javascript - 如何在不更改 map 中心的情况下在谷歌地图中加载 KML

javascript - 带有 DynamoDB 的 NodeJS 抛出错误 "AttributeValue may not contain an empty string"

mysql - 从 Docker 容器中访问主机上的 MySQL 数据库

python - 使用 docker-compose 为 python 应用程序提供 Nginx 反向代理