gpt4 book ai didi

docker - 在 Docker 客户端上配置代理后,Docker 容器内没有 http/https 连接

转载 作者:行者123 更新时间:2023-12-02 19:23:38 25 4
gpt4 key购买 nike

我关注了Docker guide如何为容器配置代理。所以我把以下内容放在 ~/.docker/config.json

{
(...),
"proxies":{
"default":{
"httpProxy":"http://127.0.0.1:8080",
"httpsProxy":"http://127.0.0.1:8080",
}
}
}

并跑了
sudo systemctl daemon-reload

sudo systemctl restart docker

主持人 , 我在 127.0.0.1:8080 中启动了代理 (mitmproxy)地址。代理看起来在主机中正常工作。但是,当我连接 在容器中似乎无法正确使用代理。
docker exec -it my_container_1 /bin/bash

在 bash 中:
bash-5.0#  wget http://google.com
wget: can't connect to remote host (127.0.0.1): Connection refused

如果我使用 ping或一些 ftp地址,它工作正常,所以它受限于代理配置。

有什么想法吗?

最佳答案

http_proxyhttps_proxy定义于 config.json由 docker 客户端传递给容器。这实际上设置了 http_proxyhttps_proxy容器中的环境变量。
运行echo $http_proxy在容器中将输出该值。

假设在主机上正确配置了代理,那么代理的 IP 地址应该是容器看到的主机 IP。
替换为 config.json 127.0.0.1使用 docker0 的 IP或主机的主网络接口(interface) (eth0)。

关于docker - 在 Docker 客户端上配置代理后,Docker 容器内没有 http/https 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com