Node.js 用于打开和关闭代理的Dockerfile
我运行Node.js 用于打开和关闭代理的Dockerfile,node.js,docker,proxy,docker-compose,Node.js,Docker,Proxy,Docker Compose,我运行docker compose up-d来构建和运行两个容器 -- docker-compose.yml node: build: . links: - mongo ports: - "80:80" - "443:443" - "8080" - "9000:9000" mongo: image: mongo:3.2 ports: - "27017" 在我的Dockerfile中,我设置了http\u proxy和http
docker compose up-d
来构建和运行两个容器
-- docker-compose.yml
node:
build: .
links:
- mongo
ports:
- "80:80"
- "443:443"
- "8080"
- "9000:9000"
mongo:
image: mongo:3.2
ports:
- "27017"
在我的Dockerfile中,我设置了http\u proxy
和https\u proxy
ENV vars
-- Dockerfile
ENV http_proxy http://proxy-address.co.uk:80/
ENV https_proxy http://proxy-address.co.uk:80/
我需要能够在代理上和代理下运行它,因此理想情况下,如果需要设置变量,我可以在命令行上传递变量,这将是非常棒的
有办法做到这一点吗?有很多选择: 其中一项: 您可以将var放在.env文件中
http_proxy=http://proxy-address.co.uk:80/
并用于作曲
node:
build: .
links:
- mongo
ports:
- "80:80"
- "443:443"
- "8080"
- "9000:9000"
environment:
http_proxy: ${http_proxy}
细节
如果它对其他人有帮助,这就是我最终解决这个问题的方法。因此,
docker compose
可以从主机读取环境变量
--Added the following to my Dockerfile
ARG http_proxy
ARG https_proxy
和我的docker compose.yml
version: "2.0"
services:
node:
build:
context: .
args:
http_proxy: ${http_proxy}
https_proxy: ${http_proxy}
links:
- mongo
ports:
- "80:80"
- "443:443"
- "8080"
- "9000:9000"
mongo:
image: mongo:3.2
ports:
- "27017"
谢谢你的回答,但我只是想知道这是否设置了var,我是开代理还是关代理?而且这似乎不起作用,我不完全确定你是否理解这个问题?