与Docker的连接问题

时间:2015-05-13 16:42:18

标签: docker dockerhub

我更新了一台服务器,并在服务器上安装了Docker。在某种程度上,一切都取得了成功。我正在通过创建Docker镜像的一个示例,我得到了以下错误:

  

sudo docker run hello-world   无法在本地找到图像'hello-world:latest'   拉存储库hello-world   FATA [0162]获取https://index.docker.io/v1/repositories/library/hello-world/images:拨打tcp 162.242.195.84:443:连接超时

我正在与我们的网络管理员进行检查,因为我可以通过浏览器浏览相关网址并获取以下JSON:

[{"checksum": "", "id": "e45a5af57b00862e5ef5782a9925979a02ba2b12dff832fd0991335f4a11e5c5"}, {"checksum": "", "id": "31cbccb51277105ba3ae35ce33c22b69c9e3f1002e76e4c736a2e8ebff9d7b5d"}, {"checksum": "", "id": "ef872312fe1bbc5e05aae626791a47ee9b032efa8f3bda39cc0be7b56bfe59b9"}, {"checksum": "", "id": "7fa0dcdc88de9c8a856f648c1f8e0cf8141a505bbddb7ecc0c61f1ed5e086852"}, {"checksum": "", "id": "bf16b6e27882c0790071c95326e0186eccd2b8ac2bd5ef34fecdbb332a90926e"}, {"checksum": "", "id": "8f5550346e6173730dca712d1fc87e671ae04d5899d6c4290f7897c054b2318e"}, {"checksum": "", "id": "f86750113cd23609d504342d39015d5c7f218935b8420dd43b79cd99f4f93960"}, {"checksum": "", "id": "0a1b1cfaa9a2153fdabe163d562fe1321a5c1d1db3a59e0fac7c65f966bc38a9"}, {"checksum": "", "id": "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158"}, {"checksum": "", "id": "2505d942a91db2045278f9d5c58067414d367c02506bbba96f0769a6ac6ad47b"}, {"checksum": "", "id": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1"}]

搜索网页显示其他一些人有这些错误,但这些决议在这里不起作用。这可能是代理或端口问题吗?

我使用的是最新版本的Docker

docker version
Client version: 1.6.1
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 97cd073
OS/Arch (client): linux/amd64
FATA[0000] Get http:///var/run/docker.sock/v1.18/version: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?

当我运行docker pull hello-world时,我收到以下回复:

  

FATA [0000]发布http:///var/run/docker.sock/v1.18/images/create?fromImage=hello-world%3Alatest:拨打unix /var/run/docker.sock:权限被拒绝。您是否尝试连接到没有TLS的启用TLS的守护程序?

当我运行sudo docker pull hello-world时,即使我可以成功卷曲URL,我也会收到超时消息 -

  

FATA [0162]获取https://index.docker.io/v1/repositories/library/hello-world/images:拨打tcp 162.242.195.84:443:连接超时

尝试curl -v https://index.docker.io:443返回

* Rebuilt URL to: https://index.docker.io:443/
* Hostname was NOT found in DNS cache
*   Trying 172.31.1.70...
* Connected to 172.31.1.70 (172.31.1.70) port 80 (#0)
* Establish HTTP proxy tunnel to index.docker.io:443
* Proxy auth using Basic with user 'chance1'
> CONNECT index.docker.io:443 HTTP/1.1
> Host: index.docker.io:443
> Proxy-Authorization: Basic Y2hhbmNlMToyMDBEdWxsZXM=
> User-Agent: curl/7.35.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
<
* Proxy replied OK to CONNECT request
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using ECDHE-RSA-AES128-GCM-SHA256
* Server certificate:
*        subject: OU=GT98568428; OU=See www.rapidssl.com/resources/cps (c)15; OU=Domain Control Validated - RapidSSL(R); CN=*.docker.io
*        start date: 2015-03-19 17:34:32 GMT
*        expire date: 2018-04-21 01:51:52 GMT
*        subjectAltName: index.docker.io matched
*        issuer: C=US; O=GeoTrust Inc.; CN=RapidSSL SHA256 CA - G3
*        SSL certificate verify ok.
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: index.docker.io
> Accept: */*
>
< HTTP/1.1 301 MOVED PERMANENTLY
* Server nginx/1.6.2 is not blacklisted
< Server: nginx/1.6.2
< Date: Wed, 13 May 2015 20:43:03 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: close
< X-Frame-Options: SAMEORIGIN
< Location: https://registry.hub.docker.com/
< Strict-Transport-Security: max-age=31536000
<
* Closing connection 0
* SSLv3, TLS alert, Client hello (1):

2 个答案:

答案 0 :(得分:10)

从你的curl命令,很明显你正在使用代理。因此,您需要执行以下操作(在Ubuntu中)才能使其正常工作:
1.修改您的/etc/default/docker文件(根据您的export http_proxy="..."文件取消注释并编辑说明/etc/apt/apt.conf的行。
2. sudo service docker restart
3.最后测试sudo docker login

答案 1 :(得分:0)

在我尝试&#34; curl -v https://index.docker.io:443&#34;并且返回成功,它起作用了,没有更多&#34; TLS握手超时&#34;。