Docker外部可访问的注册表,502代理错误,TLS握手错误

时间:2017-09-15 15:59:17

标签: linux docker proxy tls1.2 docker-registry

Docker版本:

客户端: 版本:17.06.2-ce API版本:1.30 转到版本:go1.8.3 Git commit:cec0b72 建造:2017年9月5日星期二19:57:21 OS / Arch:linux / amd64

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

docker exec 96f0cb141c8b registry --version: 注册表github.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代理错误*

我的注册表容器的日志: 时间=" 2017-09-15T10:04:43Z" level = warning msg ="未提供HTTP密码 - 生成随机密码。如果多个注册表位于负载均衡器后面,这可能会导致上载问题。要提供共享密钥,请在配置文件中填写http.secret或设置REGISTRY_HTTP_SECRET环境变量。" 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:第一条记录看起来不像是TLS握手

2017/09/15 10:19:28 http:TLS握手错误来自10.10.10.202:44414:tls:超大记录收到的长度为21536

我的留言: 你好, 我是这个主题的初学者。我的公司需要一个可从外部访问的注册表,以便在访问 registry.domain.com 时推送客户端可以提取的图像。 我按照docker官方网站上的说明创建了这个注册表,我使用了LetsEnscrypt来获取我的pem证书文件。这里我使用端口5000,但也使用端口80,它给出了相同的错误... 正如在"重现我的错误"中所写,我的代理服务器出现了502代理错误和TLS握手错误。我在论坛中搜索了很多解决方案但没有说服力。

您是否有任何想法如何修复它以使我的注册表可用?

由于

0 个答案:

没有答案