gpt4 book ai didi

macos - docker 登录失败 -> x509 : certificate signed by unknown authority . 。 "crypto/rsa: verification error"

转载 作者:行者123 更新时间:2023-12-02 18:17:15 25 4
gpt4 key购买 nike

我创建了一个以 NGINX 为前端的私有(private) docker 注册表。 NGINX 是 ssl 终止的地方。

为了这个问题,我使用 my-domain.com 混淆了我的域。

我正在使用安装了 boot2docker 的 OSX 10.10.3。但应该注意的是,Vagrant + CoreOS + Docker 的工作流程不应该涉及 boot2docker,因为我在 VM(CoreOS)而不是主机(OSX)中遇到问题。

我正在使用 Vagrant 从这个 box 启动本地 CoreOS VM .然后我 ssh 进入该 VM 的一个实例并尝试发出以下命令

$ docker login docker.my-domain.com

然后按预期提示我输入我的用户名、密码和电子邮件;我提供我的详细信息。

注意:我能够按预期在主机操作系统 (OSX) 中发出上述命令,并且能够成功登录(生成 ~/.dockercfg 文件)。

我收到以下错误:
FATA[0008] Error response from daemon: v1 ping attempt failed with error: Get https://docker.my-domain.com/v1/_ping: 
x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to
verify candidate authority certificate "*.my-domain.com"). If this private registry supports only HTTP or HTTPS
with an unknown CA certificate, please add `--insecure-registry docker.my-domain.com` to the daemon's
arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag;
simply place the CA certificate at /etc/docker/certs.d/docker.my-domain.com/ca.crt

我已经从我的自签名中复制了我的 ca.crt。我可以确认 CoreOS 能够通过 SSL 正确连接到我的服务器。我运行了这个命令
openssl s_client -CAfile /etc/docker/certs.d/docker.my-domain.com/ca.crt -connect docker.my-domain.com:443

我得到了预期的“验证返回码:0(ok)”。这让我相信它的 docker 似乎有问题。
$ docker version (from within CoreOS VM)
Client version: 1.6.1-rc2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 17f157d-dirty
OS/Arch (client): linux/amd64
Server version: 1.6.1-rc2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 17f157d-dirty
OS/Arch (server): linux/amd64

毕竟,我不确定接下来需要尝试什么。任何和所有的帮助表示赞赏!

最佳答案

结果证明这是一个两部分的问题。第一个问题是当我将证书文件(ca.crt)放在相对的/etc/ssl/certs/文件夹中时,我没有用 .pem 扩展名重命名原始文件。这意味着当我运行 update-ca-certificates 以在客户端计算机上安装我的自定义证书时,它没有被识别。这隐藏了第二个也是主要的问题。

我没有使用正确的证书文件。一旦我使用了正确的证书文件,我将文件重命名为具有 .pem 扩展名,我运行 update-ca-certificates 然后发出登录命令并且它工作。

我假设我必须在我的主机 OSX 机器上正确安装了正确版本的证书,这就是它在那里工作但在 VM 中不起作用的原因。

关于macos - docker 登录失败 -> x509 : certificate signed by unknown authority . 。 "crypto/rsa: verification error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30245602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com