如果使用自定义SSL证书,则docker客户端无法从“docker专用registry”和“在线dockerregistry”中读取
Docker 1.2.0版,build 2a2f26c / 1.2.0,
dockerregistry0.8.1
我在cenots7上设置docker私人registry,并创build我的自定义SSL证书。 当我尝试使用https访问我的dockerregistry我得到x509: certificate signed by unknown authority
。 我通过将证书文件放在"/etc/pki/tls/certs"
下find了解决scheme
"update-ca-trust"
"service docker restart"
现在它开始读取我的证书。我可以login和拉和推入docker私人registry
"https://localdockerregistry"
。
现在,当我试图从网上dockerregistry( 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客户端不能决定哪个证书使用哪个存储库。
任何想法如何我们可以修复“x509:由未知权威签名的证书”为在线dockerregistry,同时使用您自己的docker私人registry。
放置证书的正确位置在运行/etc/docker/certs.d/my.registry.com:5000/ca.crt
守护进程(而不是客户端)的机器上: /etc/docker/certs.d/my.registry.com:5000/ca.crt
: /etc/docker/certs.d/my.registry.com:5000/ca.crt
where my.registry.com :5000是您的私人registry的地址,并且:5000
是您的registry可到达的端口。 如果path/etc/docker/certs.d/
不存在,您应该创build它 – 这是默认情况下Docker守护程序的外观。
这样,您可以在每个私人注册中心拥有私人证书,而不会影响公共registry。
这是http://docs.docker.com/reference/api/registry_api/上的文档
我有一个Dockerregistry,运行在一个带有一个StartSSL证书的Nginx代理后面的容器中。
在这种情况下,您必须将中间ca证书附加到nginx ssl证书,请参阅https://stackoverflow.com/a/25006442/1130611
- 为什么官方的SQL Server Express容器只能用于开发和testing?
- 如何在Docker中使用音量组成postgres?
- 使用Maven的setting.xml将构buildparameter passing到fabric8io / docker-maven-plugin
- docker-compose和ssh卷
- 基于Docker的开发环境适用于多个项目
- docker-compose环境将覆盖jar中的variables,docker环境variables和jar中的variables如何映射?
- win7中无法运行boot2docker 64位奇怪的虚拟盒子错误
- 在高山docker集装箱运行OpenSSH
- Docker-image-as-executable:我应该在CMD还是ENTRYPOINT中执行?