用于打开和关闭代理的Dockerfile

时间:2017-03-28 08:36:39

标签: 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_proxyhttps_proxy ENV vars

-- Dockerfile
ENV http_proxy http://proxy-address.co.uk:80/
ENV https_proxy http://proxy-address.co.uk:80/

我需要能够在代理上下运行它,所以理想情况下如果我只需要在命令行上传递VARS就可以了。如果我需要设置它们。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:1)

如果它对其他人有帮助,这就是我最终要解决的问题。所以require(dplyr) myfun <- function(dat) { do.call(rbind,lapply(rev(unique(dat$year)[-1]), function(z) inner_join(dat[dat$year==z,2:5], dat[dat$year==z-1,2:5], by=c("x","y")) %>% summarise(year = z, res = ifelse(nrow(.) < 1,NA,sum(v1.x,v1.y))))) } dat %>% group_by(id) %>% do(myfun(.)) 可以从主机读取ENV变量。

docker-compose

和我的--Added the following to my Dockerfile ARG http_proxy ARG https_proxy

docker-compose.yml

答案 1 :(得分:0)

有很多选择:

其中一个:

您可以将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}

详细 Doc

相关问题