运行 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构建官方指南。
我可以看到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
这似乎是一个身份验证错误,但 CN 是myregistry.com
在创建 x.509 证书期间设置的。有人能弄清楚发生了什么吗?谢谢。
答案1
您似乎正在使用 HTTP 连接到 HTTPS。您需要映射端口 443,而不是端口 80,然后使用https://myregistry.com...