我试图运行以下docker命令:
docker run -i -t ubuntu /bin/bash
但是我收到错误:
Unable to find image 'ubuntu' (tag: latest) locally Pulling repository ubuntu 2013/11/28 14:00:24 Get https://index.docker.io/v1/images/ubuntu/ancestry: x509: certificate signed by unknown authority
我知道我们公司即时替换SSL证书,用于https请求.
我试图通过把它放在:
/etc/pki/tls/certs/ca-bundle.crt
和
/etc/pki/tls/cert.pem
但它仍然不起作用.
有任何想法吗?
解决方法
要配置docker以使用代理系统,您首先需要将HTTPS_PROXY / HTTP_PROXY环境变量添加到docker sysconfig文件.但是,根据您是否使用init.d或服务工具,您需要添加“export”语句.作为解决方法,您可以在docker的sysconfig文件中简单添加两种变体:
/etc/sysconfig/docker HTTPS_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>" HTTP_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>" export HTTP_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>" export HTTPS_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>"
要使docker使用ssl拦截代理,您必须将代理根证书添加到系统信任存储.
对于CentOS,将文件复制到/ etc / pki / ca-trust / source / anchors /并更新ca信任存储.之后再重新启动码头服务.
如果您的代理使用NTLM身份验证 – 有必要使用像cntlm这样的中间代理.
This blog post explains it in detail