docker - 从docker内部通过Oracle VM和cntlm代理进行Internet访问

标签 docker proxy virtualbox ubuntu-16.04

如何在Ubuntu VM上从Ubuntu 16.04的docker内部通过Oracle VM(5.2.4)和Windows 7上的cntlm代理进行Internet http调用?

已配置代理(IP 192.168.56.1,VM主机)。在Ubuntus Firefox中或从命令行使用wget可以成功访问Internet。

Docker CE(17.12.0-ce)配置为也使用代理ip:
/etc/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://192.168.56.1:3128/"
Environment="HTTPS_PROXY=http://192.168.56.1:3128/"

我可以成功提取的所有docker镜像。

只有wget或docker容器内的所有安装调用都会失败。

以后有很多帮助页面,我对此一无所知。
我的尝试:
docker run --name test --network host -e "https_proxy=https://192.168.56.101:3128" -it alpine:latest wget https://www.web.de
wget: bad address 'www.web.de'

docker run --name test --dns 8.8.8.8 -e "https_proxy=https://192.168.56.101:3128" -it alpine:latest wget https://www.web.de
wget: bad address 'www.web.de'

docker run --name test -e "https_proxy=https://192.168.56.101:3128" -it alpine:latest wget https://www.web.de
wget: bad address 'www.web.de'

docker run --name test --network host --dns 8.8.8.8 -e "https_proxy=https://192.168.56.101:3128" -it alpine:latest wget https://www.web.de
wget: bad address 'www.web.de'

所有打印的 call 也带有“http”,并且没有代理环境。

还有我的主意吗?

最佳答案

为了使Docker与CNTLM一起使用,设置

Gateway yes

在CNTLM-Config中。

我直接在VM上运行CNTLM,并将容器内的所有代理设置为http://172.17.0.1:3128

为了完整起见,请在 docker run 中设置所有Proxy-Env:
PROXY_DOCKER="http://172.17.0.1:3128/"
docker run -e HTTP_PROXY=${PROXY_DOCKER} -e http_proxy=${PROXY_DOCKER} -e HTTPS_PROXY=${PROXY_DOCKER} -e https_proxy=${PROXY_DOCKER} ...

关于docker - 从docker内部通过Oracle VM和cntlm代理进行Internet访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52262372/

相关文章:

ubuntu - 在 VPS Ubuntu 上获取 Vagrant 配置

python - 用于 Python 的 Nvidia-Docker API?

docker - 限制主机上退出容器的数量 (1.8.3)

symfony - Docker Wkhtmltopdf HostNotFoundError

c# - 将代理与 webBrowser 控件一起使用 C#/.net 3.5

Android Studio : java. security.cert.CertPathValidatorException:找不到证书路径的信任 anchor

php - 除了 docker 容器中的两个用户之外,如何为我的桌面 Ubuntu 机器的用户授予对 docker 卷的完全权限?

java - Spring中使用cglib的嵌套代理

c++ - 为 DirectX9 使用 C++ 代理 dll,如何旋转场景?

centos - 试图在 VirtualBox 的上下文中理解 ISO 镜像