TLS自签名证书用于Docker的身份validationURL

我正在尝试login到您使用oadm工具构build的Dockerregistry。 我尝试使用令牌login:

# docker login -u $(oc whoami) -e 'xxxx' -p $(oc whoami -t) 172.30.10.52:5000 Error response from daemon: no successful auth challenge for https://172.30.10.52:5000/v2/ - errors: [basic auth attempt to https://172.30.10.52:5000/v2/ realm "openshift" failed with status: 400 Bad Request] 

查看日志,我可以看到问题是因为我的实例使用自签名证书:

 time="2017-01-10T00:58:42.913539516Z" level=error msg="error authorizing context: Get https://ld7-zko8s6q-ws:8443/oapi/v1/users/~: x509: certificate signed by unknown authority" go.version=go1.4.2 http.request.host="172.30.10.52:5000" http.request.id=3fa81975-3aa9-44d8-a6a8-c00ad360009c http.request.method=GET http.request.remoteaddr="10.1.0.1:49316" http.request.uri="/v2/" http.request.useragent="docker/1.10.3 go/go1.6.2 git-commit/429be27-unsupported kernel/3.10.0-514.2.2.el7.x86_64 os/linux arch/amd64" instance.id=2a23b229-2a0e-4734-83c4-38cb9c8a0e00 

我怎样才能让我的证书被信任或closuresTLSvalidation?

您可以通过添加来testing 不安全的registry

 DOCKER_OPTS="--insecure-registry myregistrydomain.com:5000" 

/etc/default/docker文件或/etc/sysconfig/docker文件

但最好将自签名证书添加到/etc/docker/certs.d/myregistrydomain.com:5000/ca.crt 。 然后重新启动你的Docker守护进程。
这样,它会相信你的证书。

请注意,Openshift起源有一个当前未解决的问题1753 “需要注册专用docker注册机构证书的机制”。另请参阅“ 无法从远程节点#6228获取图像 ”,参考了“ 安全和公开registry ”的正式文档。