首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用主机上的socks5代理进行docker构建

使用主机上的socks5代理进行docker构建
EN

Stack Overflow用户
提问于 2020-05-04 18:41:06
回答 2查看 9.1K关注 0票数 7

为了构建一个特定的镜像,我需要创建一个隧道,并让docker使用这个隧道作为socks5代理(也是为了使用DNS代理)。

所以现在我有几个问题:

如何让docker使用主机上的代理?

如何让docker使用代理获取基础镜像?

如何让docker使用运行指令的代理?

如何让docker为ADD指令使用代理?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-04 18:41:06

由于我花了一整天的时间研究这个问题,下面是答案:

使用localhost:port不起作用。直到

这个

问题得到解决后,您需要使用docker0网络接口的IP地址(在我的示例中为172.17.0.1)。

这个答案也适用于问题3。只需将此内容(根据需要更改IP和端口)放入

(请注意,协议是socks5h)

代码语言:javascript
复制
{
        "proxies":
        {
            "default":
            {
                "httpProxy": "socks5h://172.17.0.1:3128",
                "httpsProxy": "socks5h://172.17.0.1:3128",
                "noProxy": ""
            }
        }
    }

我不知道为什么,但是对于ADD指令,以前的设置不适用(名称不能通过代理解析)。我们需要将此内容放入

代码语言:javascript
复制
[Service]
Environment="HTTP_PROXY=socks5://172.17.0.1:3128/"

然后

代码语言:javascript
复制
sudo systemctl daemon-reload
sudo systemctl restart docker

另外,对于像这样的包管理器

为了能够在构建期间更新包,您需要像这样传递环境变量:

代码语言:javascript
复制
docker build --build-arg http_proxy=socks5://172.17.0.1:3128
票数 13
EN

Stack Overflow用户

发布于 2021-02-18 15:08:26

使用localhost:port的工作方式是在"docker build ...“中添加"--network=host”选项。命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61590317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档