具有自签名证书的代理导致在Docker构建期间找不到主机?

具有自签名证书的代理导致在Docker构建期间找不到主机?,docker,Docker,我在一个具有自签名证书的代理服务器后面。我可以访问docker.io/hub获取最新的centos映像,但所有其他主机似乎都无法访问。我必须在/etc/sysconfig/docker中设置代理设置,并将从浏览器下载的docker.io证书链放入docker certificate文件夹中,以使其正常工作。有没有人听说过这种行为,因为代理服务器具有自签名证书,所以所有主机都无法访问?同样,我在/etc/sysconfig/docker中设置了代理设置。我仍然无法访问docker.io以执行doc

我在一个具有自签名证书的代理服务器后面。我可以访问docker.io/hub获取最新的centos映像,但所有其他主机似乎都无法访问。我必须在/etc/sysconfig/docker中设置代理设置,并将从浏览器下载的docker.io证书链放入docker certificate文件夹中,以使其正常工作。有没有人听说过这种行为,因为代理服务器具有自签名证书,所以所有主机都无法访问?同样,我在/etc/sysconfig/docker中设置了代理设置。我仍然无法访问docker.io以执行docker pull centos,直到我将下载的证书文件从浏览器放到docker.io的docker证书文件夹中。在我尝试构建一个curl语句并试图访问pkg.jenkins-ci.org之前,一切看起来都很好。该主机以及所有其他主机(我专门将证书链放入docker证书文件夹的主机除外)似乎都无法访问。这是什么原因造成的?我附加了一个简单的“docker build”的图像,其中Dockerfile位于当前目录中


Redhat 7.2在专用网络内的虚拟机上使用具有自签名证书的代理。

在/etc/sysconfig/docker中设置的代理将不会传播到容器iirc。您可以通过如下方式的build参数将它们传递到构建中:

docker build -t some_image --build-arg HTTP_PROXY=something --build-arg HTTPS_PROXY=something . 
如果将它们设置为主机上的环境变量,则可以忽略这些值,Docker将自动将它们发送进来。大多数构建参数都需要在Dockerfile中显式引用,但是
HTTP\u PROXY
HTTPS\u PROXY
是不需要的特殊情况(在其他一些情况中)


可能需要将证书复制到容器中(或装入
-v
),以便
curl
也可以使用该证书。

不幸的是,我尝试了将代理设置放入容器和Dockerfile中的各种组合。我尝试过:docker build--build arg HTTP\u PROXY=“”--build arg HTTPS\u PROXY=“”。我得到了同样的超时时间。