Docker从主机系统构建代理

时间:2017-11-26 03:47:43

标签: linux ubuntu docker proxy

我想使用docker build代理。我检查了这样的解决方案:

sudo docker build -t Cron/ubuntu \
            --build-arg http_proxy="http://myproxy.example.com:8080" \
            --build-arg https_proxy="https://myproxy.example.com:8080" \

但在我的情况下,代理ip不是互联网地址,而是来自主机系统的一些ip,如:0.0.0.0:8118

我认为当我使用--buid-arg构建映像,并且dockerfile运行到apt-get之类的东西时,容器将尝试使用docker系统中的0.0.0.0:8118而不是主机系统。由于我没有像主机系统那样为docker系统配置ip,因此代理将无效。

所以我的问题是,如何从主机系统运行docker build代理?有没有办法将ip从主机映射到docker容器?

1 个答案:

答案 0 :(得分:1)

在〜/ .docker / config.json文件中创建一个文件,如下所示:

{
  "proxies":{
    "httpProxy":"http://proxy_url:proxy_port",
    "httpsProxy":"https://proxy_url:proxy_port",
    "ftpProxy":"ftp://proxy_url:proxy_port"
  }
}

然后像这样调用docker:

sudo docker build -t Cron/ubuntu --build-arg http_proxy --build-arg https_proxy --build-arg ftp_proxy

此功能在此PR中实现: https://github.com/moby/moby/pull/32966

任何使这个用户体验变得更好的想法请在这里做出贡献: https://github.com/moby/moby/issues/30323