【发布时间】:2015-06-06 19:30:14
【问题描述】:
登录时使用自签名证书的私有注册表说明:
FATA[0005] 来自守护程序的错误响应:v1 ping 尝试失败 错误:获取https://registry:8443/v1/_ping:x509:证书签名者 未知的权威。如果此私有注册表仅支持 HTTP 或 带有未知 CA 证书的 HTTPS,请将
--insecure-registry registry:8443添加到守护程序的参数中。在 HTTPS 的情况下,如果您 可以访问注册中心的 CA 证书,不需要标志; 只需将 CA 证书放在 /etc/docker/certs.d/registry:8443/ca.crt
我试过了,但又遇到了另一个错误,即 IP 不在主题中。所以我修复了这个错误,现在得到:
FATA[0006] 来自守护程序的错误响应:服务器错误:发布 https://registry:8443/v1/users/: x509: 证书由未知签名 权威
其中registry是注册中心的IP。
然后我将“--insecure-registry registry:8443”放入 /etc/default/docker 并重新启动守护进程
我已验证它已采用该设置。
根 6865 1 0 12:47 ? 00:00:00 /usr/bin/docker -d --insecure-registry registry:8443
但是 docker login 仍然会产生这个错误:
FATA[0006] 来自守护程序的错误响应:服务器错误:发布 https://registry:8443/v1/users/: x509: 证书由未知签名 权威
insecure-registry 的工作方式是否与我想象的不同,我该如何解决?
是的,我需要 HTTPS。它是一个私有注册表,但在公共 IP 上。使用真实证书创建正确的 DNS 条目是唯一的方法吗?
【问题讨论】:
-
这个问题+1。目前我不需要 HTTPS(
--insecure-registry效果很好),但我必须尽早启用此功能。 -
最后我无法按照描述解决它。相反,我添加了一个 DNS 条目和一个真正的证书,并为我修复了它。不过,我仍然想知道您如何部署自签名。
-
如果 guide 对我没有帮助,我想我将不得不部署自己的证书颁发机构并配置我的环境以信任它们(可能会为此目的使用 FreeIPA)
标签: docker