我在企业代理后面运行 CentOS 6.6。我已经安装了 docker,并且我必须进行一些修改,以便守护进程能够通过代理访问 Docker Hub。这部分运行良好。
# /etc/sysconfig/docker
HTTP_PROXY='http://domain\username:password@proxy:port'
HTTPS_PROXY='https://domain\username:password@proxy:port'
export HTTP_PROXY HTTPS_PROXY
我的问题是我的容器似乎无法访问互联网(apt-get update 超时,无法使用户指南网络应用程序运行,...)。
我sysctl -w net.ipv4.ip_forward=1
在主机和容器上都有。
我尝试了谷歌研究发现的多种方法,但都没有成功:
- 添加选项
-p :80
以便通过主机重定向 HTTP 请求 - 添加选项
--net=host
- 添加
--dns 8.8.8.8 --dns 8.8.4.4
(执行此操作时我甚至无法 ping dns 服务器) - 容器中的设置
http_proxy
和变量https_proxy
如果您需要我发布一些输出,我很乐意这样做。
答案1
我已经解决了这个问题,它与 Docker 完全无关。这只是一个代理问题。
我通过运行 ubuntu:14.10 容器和运行进行了测试apt-get update
,但没有成功。
解决方案是编辑容器中的 /etc/apt/apt.conf 文件以添加代理信息。之后,apt-get update
一切运行正常。