如何使docker容器连接到代理?
我在Ubuntu 16.04上运行docker 19.03。最近正在构建V2ray客户端。 现在我在如何使容器连接到该代理上遇到了问题。我读过一些关于StackOverflow的问题,比如or。我还阅读了有关的官方文件。这些对我帮助很大,但还不够。 现在我的问题是:如何使docker容器连接到代理?,docker,proxy,Docker,Proxy,我在Ubuntu 16.04上运行docker 19.03。最近正在构建V2ray客户端。 现在我在如何使容器连接到该代理上遇到了问题。我读过一些关于StackOverflow的问题,比如or。我还阅读了有关的官方文件。这些对我帮助很大,但还不够。 现在我的问题是: version: '3.5' services: openethereum: image: openethereum/openethereum container_name: openethereum v
version: '3.5'
services:
openethereum:
image: openethereum/openethereum
container_name: openethereum
volumes:
- /mnt/pgdata/ETH:/home/openethereum/.local/share/io.parity.ethereum
command: --tracing=off --warp-barrier=12088645
environment:
HTTP_PROXY: http://172.21.0.1:2080/
HTTPS_PROXY: https://172.21.0.1:2080/
~/.docker/config.json
文件。这是一种一劳永逸的方法。但它会影响在我修改文件并重新启动docker后创建的容器。我现在正在运行一些其他容器,我只希望这个容器连接到代理,因为代理不稳定,我不希望代理影响其他容器的工作。所以这个方案不能使用docker run
时,我们可以添加-env HTTP\u PROXY=”http://localhost:1080/“
强制容器连接到代理。但是在命令docker run
和Dockerfile
上只有两个示例。我使用了docker compose
来构建我的容器。我已经在docker compose文件中添加了environment
项,但它不起作用。所以我不知道在使用docker compose
时如何做到这一点docker compose.yml
文件如下:
version: '3.5'
services:
openethereum:
image: openethereum/openethereum
container_name: openethereum
volumes:
- /mnt/pgdata/ETH:/home/openethereum/.local/share/io.parity.ethereum
command: --tracing=off --warp-barrier=12088645
environment:
HTTP_PROXY: http://172.21.0.1:2080/
HTTPS_PROXY: https://172.21.0.1:2080/
我使用172.21.0.1
作为容器的ip地址来连接到代理,因为我知道此容器的ip地址是172.21.0.2
,并且我的代理正在侦听所有ip地址。我不确定这是否是正确的用法,如果有任何问题,谢谢你指出
我在计算机上安装了proxychains
,并对其进行了配置。当我运行命令www.google.com时,我得到了很多HTML文本。但在我
通过运行commanddocker exec-it openem sh
进入我的容器,我再次运行commandcurl www.google.com
。之后我等了很长时间,最后它告诉我地址无法解析
非常感谢您阅读我的问题,如果您有任何解决方案,并感谢您分享您的解决方案。
我已将环境项添加到docker compose文件中,但它不起作用
=>请定义“不起作用”。提供docker compose文件和无法从容器内部使用代理的证据,以及调试该问题并尝试解决该问题所采取的步骤。同时,这个问题也是如此。在您收集了必要的信息并创建了一个