Docker可从外部访问的registry,502代理错误,TLS握手错误

Docker版本:

客户端:版本:17.06.2-ce API版本:1.30 Go版本:go1.8.3 Git commit:cec0b72内置:星期二9月5日19:57:21 OS / Arch:linux / amd64

服务器:版本:17.06.2-ce API版本:1.30(最低版本1.12)Go版本:go1.8.3 Git commit:cec0b72内置:星期二9月5日19:59:19 OS / Arch:linux / amd64实验:假

docker exec 96f0cb141c8bregistry–version:registrygithub.com/docker/distribution v2.6.2

重现我的错误:

docker run -d --restart=always --name registry5000 -v `pwd`/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert.pem -e REGISTRY_HTTP_TLS_KE Y=/certs/privkey.pem -p 5000:5000 registry:2 docker push registry.domain.com/my-registry 

输出是:

*推送是指一个存储库[registry.corobor.com/my-registry] 73c12ad782ae:在1秒内重试

98b882d4bdc0:在1秒内重试

f9cee97711b2:在1秒内重试

3de32dfabd85:在1秒内重试

2b0fb280b60d:在1秒内重试

收到意外的HTTP状态:502代理错误*

我的registry容器的日志: time =“2017-09-15T10:04:43Z”level = warning msg =“没有提供HTTP秘密 – 生成随机密码。如果多个registry位于负载均衡器后面,可能会导致上传问题。要提供一个共享密码,请在configuration文件中填写http.secret或设置REGISTRY_HTTP_SECRET环境variables。 go.version = go1.7.6 instance.id = 001581a2-0296-439e-b8c1-26edb84fc2b3 version = v2.6.2

2017/09/15 10:19:28 http:TLS握手错误10.10.10.202:44402:tls:第一条logging看起来不像TLS握手

2017/09/15 10:19:28 http:TLS握手错误10.10.10.202:44414:tls:收到超长logging,长度为21536

我的消息:你好,我是这个主题的初学者。 我的公司需要一个可从外部访问的registry,以便在客户访问registry.domain.com时推送可由客户端拉取的图像。 我遵循从docker官方网站的指示来创build这个registry我用LetsEnscrypt来获得我的Pem证书文件。 在这里我使用端口5000,但也使用端口80,它给出了相同的错误…正如“重现我的错误”中写的,我有代理502代理错误和TLS握手错误。 我在论坛上search了很多解决scheme,但没有任何说服力。

你有任何想法如何解决它,使我的registry可用?

谢谢