Docker注册表getsockopt:连接被拒绝

时间:2016-11-03 19:26:37

标签: amazon-web-services ubuntu docker docker-registry

我正在尝试在EC2实例Ubuntu Server 16.04上设置我自己的docker注册表。在遵循https://docs.docker.com/registry/deploying/之后,我目前使用LetsEncrypt运行nginx并使用docker run命令成功启动了docker注册服务。但是,系统在执行docker push时会响应连接被拒绝。

下面我用docker.example.com替换了我的FQDN,但DNS正确解析。

$ docker run -d -p 5000:5000 --restart=always --name docker-registry -v /etc/letsencrypt/live/docker.example.com:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/fullchain.pem -e REGISTRY_HTTP_TLS_KEY=/certs/privkey.pem registry:2
$ docker pull ubuntu
$ docker tag ubuntu docker.example.com:5000/ubuntu
$ docker push docker.example.com:5000/ubuntu
The push refers to a repository [docker.example.com:5000/ubuntu]
Get https://docker.example.com:5000/v1/_ping: dial tcp 54.x.x.x:5000: getsockopt: connection refused

该服务似乎正在倾听。

$ sudo netstat -tlnp | grep :5000
tcp6    0     0 :::5000           :::*            LISTEN      9655/docker-proxy

我甚至可以连接localhost。

$ nc -nv 127.0.0.1 5000
Connection to 127.0.0.1 5000 port [tcp/*] succeeded!

但尝试远程连接失败。

$ nc -nv 54.x.x.x 5000
nc: connect to 54.x.x.x port 5000 (tcp) failed: Connection refused

防火墙还允许5000 / tcp。

$ sudo ufw status | grep 5000
5000/tcp                   ALLOW       Anywhere
5000/tcp (v6)              ALLOW       Anywhere (v6)

AWS ACL允许每个人(0.0.0.0/0)使用5000 / tcp。我错过了什么?

0 个答案:

没有答案
相关问题