我使用Docker引擎2.0.0.0-win77(28777)。在我的macOS上,我已经成功地从公司的私有(private)Docker注册表中提取了镜像。然后,我想在Windows计算机上执行此操作。在做任何事情之前,我有:

> docker pull <company.docker.url>/<some image>
Error response from daemon: Get https://<company.docker.url>/v2/: x509: certificate signed by unknown authority

然后,我将证书导入到Windows用户证书存储中。
我现在有:
> docker pull <company.docker.url>/<some image>
Error response from daemon: Get https://<company.docker.url>/v2/: remote error: tls: handshake failure

失败之后,我尝试了:
  • 将证书导入到我的Windows全局证书存储中。
  • 将文件client.certclient.keyca.crt复制到我的Windows 10中为:
  • C:\ProgramData\Docker\certs.d\<company.docker.url>\
  • C:\Users\<user>\.docker\certs.d\<company.docker.url>\

  • 可悲的是,我仍然得到这个:
    > docker pull <company.docker.url>/<some image>
    Error response from daemon: Get https://<company.docker.url>/v2/: remote error: tls: handshake failure
    

    还有两件事要注意:
  • 如果我切换到Windows容器,则可以成功登录或提取图像,但仅在Linux容器版本下失败。
  • 我的私有(private)证书由中间证书签名,并且中间证书包含在我的client.cert中。

  • 我读过一些参考资料:
  • Verify repository client with certificates
  • Unable to connect to registry with client certificate signed by intermediate certificate
  • Docker Registry SSL CA cert location on windows?
  • Docker for Windows FAQ of certificates
  • 最佳答案

    我会尝试两件事:

  • 您是否尝试过: docker ,先登录,然后再拉取图像?
  • 重新启动客户端并重复。
  • 08-07 11:52
    查看更多