我正在尝试在ECS上设置一个私有docker注册表(遵循指南http://www.elastic.io/en/running-a-docker-private-registry-on-ec2/),前面有一个ELB,使用自签名证书终止SSL。注册表本身正在运行并向ELB注册,在更新OS ca-cert包和docker主机文件夹与CA签署自签名证书后,我可以成功运行curl -u myuser:mypass https://myawselb.domain/v2/
,我可以成功执行{ {1}},但是docker login myawselb.domain
总是失败,无论如何......我已经尝试了有和没有端口和https前缀的存储库ID的所有组合,但是所有请求都失败了。这会记录在docker日志中:
docker push myawselb.domain/my-image
然后经过一些推送尝试后失败,找不到404页面。
注册服务器记录:
time="2015-10-20T20:05:12.197307689Z" level=debug msg="Calling POST /images/{name:.*}/push"
time="2015-10-20T20:05:12.197370508Z" level=info msg="POST /v1.20/images/myawselb.domain/myimage/push?tag="
time="2015-10-20T20:05:32.439207664Z" level=debug msg="hostDir: /etc/docker/certs.d/myawselb.domain"
time="2015-10-20T20:05:42.630367623Z" level=debug msg="hostDir: /etc/docker/certs.d/myawselb.domain"
time="2015-10-20T20:05:42.630665342Z" level=debug msg="Trying to push myawselb.domain/my-image to https://myawselb.domain v2"
time="2015-10-20T20:05:47.635771226Z" level=debug msg="Error getting v2 registry: Get https://myawselb.domain/v2/: net/http: request canceled while waiting for connection"
time="2015-10-20T20:05:47.635965903Z" level=debug msg="Trying to push myawselb.domain/my-image to https://myawselb.domain v1"
我可能已经忘记了一些显而易见的事情,但我开始没有想法了。所以非常感谢任何帮助。
答案 0 :(得分:1)
显然你的docker守护进程无法通过HTTP连接到myawselb.domain
你确定它可以从运行docker守护进程的主机上解析吗?
要检查的另一件事是本地docker版本是最新版本之一,我们之前遇到过一些旧版本的docker守护程序问题。
长Renat
答案 1 :(得分:0)
出于某种原因,从docker vm中的8.8.8.8
中删除名称服务器/etc/resolv.conf
解决了这个问题。我不知道为什么会有任何不同,但确实如此。