我正在设置一个域注册表,如此处所述:
https://docs.docker.com/registry/deploying/
我为 docker.mydomain.com 生成了一个证书,并在我的服务器上使用他们的命令启动了 docker:
docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
registry:2
我已经启动了 docker 并指向了我使用letsencrypt ( https://letsencrypt.org/ ) 获得的证书。
现在,当我浏览到https://docker.mydomain.com:5000/v2/时,我将获得一个只有“{}”的页面,并带有绿色锁(成功的安全页面请求)。
但是,当我尝试docker login docker.mydomain.com:5000从不同的服务器执行操作时,我在注册表 docker 中看到一个错误:
TLS handshake error from xxx.xxx.xxx.xxx:51773: remote error: bad certificate
我在设置证书时尝试了一些不同的变体,并得到了如下错误:
remote error: unknown certificate authority
和
tls: first record does not look like a TLS handshake
我错过了什么?