【问题标题】:Error response from daemon: Get https://registry-1.docker.io/v2/: remote error: tls: handshake failure来自守护进程的错误响应:获取 https://registry-1.docker.io/v2/:远程错误:tls:握手失败
【发布时间】:2020-01-12 12:29:57
【问题描述】:

我在具有以下版本的公司代理后面运行 docker:

Client: Docker Engine - Community
 Version:           19.03.2
 API version:       1.40
 Go version:        go1.12.8
 Git commit:        6a30dfc
 Built:             Thu Aug 29 05:29:11 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.2
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.8
  Git commit:       6a30dfc
  Built:            Thu Aug 29 05:27:45 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

在 Ubuntu 18.04 服务器上。

我已正确配置代理,docker 似乎正在使用它。但是,任何docker login 或docker pull hello-world 调用都会导致Error response from daemon: Get https://registry-1.docker.io/v2/: remote error: tls: handshake failure。

我已将公司根证书安装到本地信任存储区,运行时它似乎工作正常,如以下 openssl 输出所示:

openssl s_client -proxy proxy:3128 -connect registry-1.docker.io:443 -showcerts

编辑证书


No client certificate CA names sent
Peer signing digest: SHA512
Peer signature type: RSA
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 6586 bytes and written 546 bytes
Verification: OK
---
New, TLSv1.2, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : DHE-RSA-AES256-GCM-SHA384
    Session-ID: 7D9CA79CAB0343D8F2B4B2288FCF0CC98721AC07C0FCBAB39BC6E344E5C1E658
    Session-ID-ctx:
    Master-Key: E841987D8259CD5BB07C5BE4918A64BA10B9D5DE49352A2367B7AE00F4A482205E6ED7C1C8ECAB56D136C54FD943049F
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1568137963
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---

有人知道是什么导致了这个问题吗?

【问题讨论】:

  • 我有完全一样的东西

标签: linux docker ubuntu ssl openssl


【解决方案1】:

我也一直在使用 docker:dind 来解决这个问题,并在这里发布了 https://discourse.drone.io/t/docker-dind-image-behind-a-proxy/7833

我刚刚发现,如果我使用 docker:18.06.0-dind 那么它就可以工作。我想也许更高版本的 docker 正在使用您的代理不支持的 tls 密码。这家伙讲这个https://github.com/docker/for-win/issues/2922#issuecomment-444431310

您可以通过将使用它的浏览器指向https://clienttest.ssllabs.com:8443/ssltest/viewMyClient.html 来获取有关您代理的 tls 的信息

我将尝试整理我的代理 (squid),以便它支持 docker 19,如果我能做到的话,我会在这里发帖。

更多信息:

这里https://github.com/docker/for-linux/issues/487

这里https://forums.docker.com/t/docker-behing-transparent-proxy-and-intermediate-cert/74860/4

【讨论】:

    猜你喜欢
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多