gpt4 book ai didi

如果使用自定义 ssl 证书,docker 客户端无法同时读取 "docker private registry"和 "online docker registry"

转载 作者:行者123 更新时间:2023-12-02 20:52:14 24 4
gpt4 key购买 nike

Docker 版本 1.2.0,构建 2a2f26c/1.2.0,

docker 注册表 0.8.1

我在 cenots7 上设置了 docker 私有(private)注册表并创建了我的自定义 ssl 证书。当我尝试使用 https 访问我的 docker 注册表时,我得到 x509: certificate signed by unknown authority .我通过将证书文件放在 "/etc/pki/tls/certs" 下找到了解决方案然后做
"update-ca-trust""service docker restart"
现在它开始读取我的证书。我可以登录并拉取并推送到 docker 私有(private)注册表
"https://localdockerregistry" .

现在,当我尝试从在线 docker 注册表(https://index.docker.io/v1/search?q=centos)中读取时
"docker search centos"
我明白了
"Error response from daemon: Get https://index.docker.io/v1/search?q=centos: x509: certificate signed by unknown authority"
我从 Firefox 浏览器导出 docker.io 证书并将其放在“/etc/pki/tls/certs”下,然后执行 "update-ca-trust""service docker restart"但同样的错误。看起来 docker 客户端无法决定将哪个证书用于哪个存储库。

在使用您自己的 docker 私有(private)注册表时,我们如何为在线 docker 注册表修复“x509:由未知机构签名的证书”的任何想法。

最佳答案

放置证书的正确位置是在以下位置运行 docker 守护程序(而不是客户端)的机器上:/etc/docker/certs.d/my.registry.com:5000/ca.crt其中 my.registry.com:5000 是您的私有(private)注册表的地址,:5000是可以访问您的注册表的端口。如果路径 /etc/docker/certs.d/不存在,您应该创建它——这是 Docker 守护程序默认的位置。

这样,您可以为每个私有(private)注册表拥有一个私有(private)证书,而不会影响公共(public)注册表。

这是根据 http://docs.docker.com/reference/api/registry_api/ 上的文档

关于如果使用自定义 ssl 证书,docker 客户端无法同时读取 "docker private registry"和 "online docker registry",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924766/

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