【问题标题】:Dockerfile for on and off proxy用于开启和关闭代理的 Dockerfile
【发布时间】:2017-03-28 08:36:39
【问题描述】:

我运行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,那就太好了。

有没有办法做到这一点?

【问题讨论】:

    标签: node.js docker proxy docker-compose


    【解决方案1】:

    如果它对其他人有帮助,这就是我最终要解决的问题。所以docker-compose 可以从主机读取 ENV 变量。

    --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"
    

    【讨论】:

      【解决方案2】:

      有很多选择:

      其中一个:

      你可以把 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

      【讨论】:

      • 感谢您的回答,但我只是想知道这是否会设置 var,无论我是打开还是关闭代理?而且这似乎也行不通
      • 我不完全确定你是否理解了这个问题?
      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 2010-12-09
      • 2018-06-15
      • 1970-01-01
      • 2021-11-17
      相关资源
      最近更新 更多