在部署Dockerregistry时遇到格式不正确的http响应

运行docker push docker push myregistry.com/testexpose命令时遇到以下错误。

推送是指一个存储库[myregistry.com/testexpose]

Put http://myregistry.com/v1/repositories/testexpose/: malformed HTTP response "\x15\x03\x01\x00\x02\x02" 

证书是按照docker官方指南build立的 。

我可以看到docker运行正常。

 [root@ip-10-1-1-229 docker]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b28c6a3be012 registry:2 "/entrypoint.sh /e..." 35 minutes ago Up 19 minutes 0.0.0.0:80->80/tcp, 5000/tcp registry 

Docker容器日志可以被看作如下:

 2017/07/02 01:56:12 http: TLS handshake error from 172.17.0.1:42218: tls: first record does not look like a TLS handshake 2017/07/02 01:56:12 http: TLS handshake error from 172.17.0.1:42224: tls: first record does not look like a TLS handshake 2017/07/02 01:56:13 http: TLS handshake error from 172.17.0.1:42230: tls: first record does not look like a TLS handshake 2017/07/02 01:56:13 http: TLS handshake error from 172.17.0.1:42236: tls: first record does not look like a TLS handshake 2017/07/02 01:56:14 http: TLS handshake error from 172.17.0.1:42242: tls: first record does not look like a TLS handshake 2017/07/02 01:56:14 http: TLS handshake error from 172.17.0.1:42248: tls: first record does not look like a TLS handshake 2017/07/02 01:56:15 http: TLS handshake error from 172.17.0.1:42254: tls: first record does not look like a TLS handshake 2017/07/02 01:56:15 http: TLS handshake error from 172.17.0.1:42260: tls: first record does not look like a TLS handshake 2017/07/02 01:56:15 http: TLS handshake error from 172.17.0.1:42266: tls: first record does not look like a TLS handshake 2017/07/02 01:56:15 http: TLS handshake error from 172.17.0.1:42272: tls: first record does not look like a TLS handshake 

这似乎是一个身份validation错误,但在创buildx.509证书期间CN被设置为myregistry.com 。 有没有人知道是怎么回事? 谢谢。

您似乎正在使用HTTP连接到HTTPS。 而不是端口80,您需要映射端口443,然后使用https://myregistry.com...