运行 docker 命令时出现以下错误:
docker 运行 hello-world
拉取存储库 docker.io/library/hello-world docker:尝试连接到时网络超时https://index.docker.io/v1/repositories/library/hello-world/images。您可能需要检查您的互联网连接或是否使用了代理。
我收到以下 CURL 输出:
curl -v https://index.docker.io * 重建 URL 为:https://index.docker.io/ * DNS 缓存中未找到主机名 * 尝试 54.152.78.181... * 连接到 index.docker.io (54.152.78.181) 端口 443 (#0) * 成功设置证书验证位置: * CA文件:无 CApath:/etc/ssl/certs * SSLv3、TLS 握手、客户端问候 (1): * 连接到 index.docker.io:443 时出现未知 SSL 协议错误 * 关闭连接 0 curl:(35)连接到 index.docker.io:443 时出现未知 SSL 协议错误
那么我现在该如何拉动我的机器呢?
现在收到以下消息:
无法在本地找到图像“hello-world:latest”最新:从库/hello-world 03f4658f8b78中提取:正在下载a3ed95caeb02:正在下载docker:x509:由未知机构签名的证书。
更新(混淆的密钥):
运行以下命令将给出输出:
~$ openssl s_client-connect index.docker.io:443 已连接(00000003) 深度=1 C = 美国,O = GeoTrust Inc.,CN = RapidSSL SHA256 CA - G3 验证错误:num=20:无法获取本地颁发者证书 验证返回:0 --- 证书链 0 s:/OU=GT98568428/OU=参见 www.rapidssl.com/resources/cps (c)15/OU=域控制已验证 - RapidSSL(R)/CN=*.docker.io i:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA-G3 1 s:/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA-G3 i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA --- 服务器证书 -----开始证书----- MIIEpDCCA4ygAwIBAgIDAyF3MA0GCSqGSIb3DQEBCwUAMEcxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuLQYDVQQLEyZEb21haW4gQ29udHJvbCBW YWxpZGF0ZWQgLSBSYXBpZFNTTChSKTEUMBIGA1UEAwwLKi5kb2NrZXIuaW8wggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRyme75dbw9AxWZ8QFCwMWrrYY SclZ6HCiEbxSNxHgg08rEfEYi46VrL+joBwlA0t5WIIxHF198NzzdXC4YeGzruY9 7osv5lPrcdeIi+Ad+fY6K0rBBOB3xdqSPPObrINZpDmWhCQjlsnM6a1Th0oSUCjI 345b84/8PH363YO+Qmnl8BWnaTcZoPzeywM9czQsMyF2bOH+dhxja/zim6iu8W34 yBhVQeQRd1QROuHcsQAX19DKTn6TXaAwIBY3xM1Bi5Zl6tueII4dOEoibw/ImR3c H73Pk7j1Wx+rAXeeq7LwjkUCCSlKNrHFEQ2nbr0R7FH6cck1ppgM8ud1pHr9AgMB AAGjggFOMIIBSjAfBgNVHSMEGDAWgBTDnPP800YINLvORn+gfFvz4gjLWTBXBggr BgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9ndi5zeW1jZC5jb20wJgYI KwYBBQUHMAKGGmh0dHA6Ly9ndi5zeW1jYi5jb20vZ3YuY3J0MA4GA1UdDwEB/wQE AwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwIQYDVR0RBBowGIIL Ki5kb2NrZXIuaW+CCWRvY2tlci5pbzArBgNVHR8EJDAiMCCgHqAchhpodHRwOi8v Z3Yuc3ltY2IuY29tL2d2LmNybDAMBgNVHRMBAf8EAjAAMEEGA1UdIAQ6MDgwNgYG Z4EMAQIBMCwwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LnJhcGlkc3NsLmNvbS9s ZWdhbDANBgkqhkiG9w0BAQsFAAOCAQEATYgwOYz/w9Qyh/YPZQDZ0BdwhkX6OCX0 Mz8pP/OO+E+1RM7ZoAGwHvIaidFqh3WeCLHjGO2IId7Ff5EZUwZhiwog0R7Y838x OCLza/2shuvjM/FPiyXDQ6q0w4rvpwsNjmYVDdYD8bCH3b8IlO2ysjgdhRYprsdU jg6h+zK11/tXf6S5vegrgV0F62DYx0tuTTZq/HMuXvbgY2uL1sQ5jiHlzQndV9oL YMYqJP5MkuAKzDL5u0b8mD/EHtoPkfWOIsA5i9YrAAoWRVOJHwfFfgSY+EpXpFc4 AZUPmdZGh6q1YNavRoOL/1D5aP/VBBtofj54uMbKOK8q6vxIXSyzaw== -----证书结束----- subject=/OU=GT98568428/OU=参见 www.rapidssl.com/resources/cps (c)15/OU=域控制验证 - RapidSSL(R)/CN=*.docker.io 发行人=/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G3 --- 未发送客户端证书 CA 名称 --- SSL 握手已读取 2914 个字节并写入 421 个字节 --- 新的 TLSv1/SSLv3,密码为 ECDHE-RSA-AES128-GCM-SHA256 服务器公钥为2048位 支持安全重新协商 压缩:无 扩展:无 SSL 会话: 协议:TLSv1.2 密码:ECDHE-RSA-AES128-GCM-SHA256 会话 ID:111E09F815E121C7EA7E7FD0C07C4AC31FFDE4E13AD9BA926AFF03A2E267130C 会话 ID-ctx: 主密钥:78A4ABC11BFCCA245F4B3FE8BDA0C0BC3A10D3E9BB447838B06D8BB16DA1553DBBCBFE03408AF34FB7D0CA5E3E7E8D40 关键参数:无 PSK 身份:无 PSK 身份提示:无 SRP 用户名:无 TLS 会话票证生存期提示:300(秒) TLS 会话票据: 0000 – 57 92 4f 5c a0 41 ab d9-62 2c b1 05 66 b5 bc 79 WO\.A..b,..f..y 0010 - c8 32 a1 b0 f3 df 3d e7-c8 8d 0b 62 b2 6f 2b 99 .2....=....b.o+. 0020 – 80 e1 60 73 19 67 bd c5-bf 4c 61 26 ca 3c 4d bd ..`sg..La&.i... 0090 - ea ca 71 3e 9a 64 e8 23-dc f6 77 b4 6a 59 ac cd ..q>.d.#..w.jY.. 开始时间:1456385623 超时:300(秒) 验证返回代码:20(无法获取本地颁发者证书) ---
我尝试了以下命令但无济于事:
sudo 更新 ca 证书 sudo 服务 docker 重启
另外以下命令结果:
# 更新 ca 证书 正在更新 /etc/ssl/certs 中的证书...无法加载证书 140587866932896:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行:pem_lib.c:703:预期:受信任的证书 无法加载证书 140365960205984:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行:pem_lib.c:703:预期:受信任的证书 警告:跳过重复证书 cacerthaxx.pem 警告:跳过重复证书 UbuntuOne-Go_Daddy_Class_2_CA.pem 警告:跳过重复证书 UbuntuOne-Go_Daddy_Class_2_CA.pem 已添加 4 个,已删除 0 个;已完成。 在 /etc/ca-certificates/update.d 中运行钩子....完成。 root@Data-Server:~# 更新 ca 证书 -f 清除 /etc/ssl/certs 中的符号链接...完成。 正在更新 /etc/ssl/certs 中的证书...无法加载证书 140706921281184:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行:pem_lib.c:703:预期:受信任的证书 无法加载证书 139841225197216:错误:0906D06C:PEM 例程:PEM_read_bio:无起始行:pem_lib.c:703:预期:受信任的证书 警告:跳过重复证书 cacerthaxx.pem 警告:跳过重复证书 UbuntuOne-Go_Daddy_Class_2_CA.pem 警告:跳过重复证书 UbuntuOne-Go_Daddy_Class_2_CA.pem 已添加 177 条,已删除 0 条;已完成。 在 /etc/ca-certificates/update.d 中运行钩子....完成。
答案1
可能只是一种不稳定的连接。两者https://index.docker.io/v1/repositories/library/hello-world/images和https://index.docker.io对我有用。
$ curl -v https://index.docker.io
* Rebuilt URL to: https://index.docker.io/
* Trying 54.152.78.181...
* Connected to index.docker.io (54.152.78.181) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
* Server certificate: *.docker.io
* Server certificate: RapidSSL SHA256 CA - G3
* Server certificate: GeoTrust Global CA
> GET / HTTP/1.1
> Host: index.docker.io
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 301 MOVED PERMANENTLY
< Server: nginx/1.6.2
< Date: Thu, 25 Feb 2016 07:17:55 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< X-Frame-Options: SAMEORIGIN
< Location: https://registry.hub.docker.com/
< Strict-Transport-Security: max-age=31536000
<
* Connection #0 to host index.docker.io left intact
您可以尝试检查您的 SSL 连接
$ openssl s_client -connect index.docker.io:443