我可以在负载均衡器后面 运行 多个私有 docker 注册表吗?

Can I run multiple private docker registry behind load balancer?

我想知道是否可以 运行 多个 docker 注册表主机在 ELB 或(与此相关的任何负载平衡器)下。我计划 运行 docker 容器内的私有 docker 注册表。有人试过吗?关于如何在不使用像 mesos 这样的集群管理工具的情况下让 Docker 注册表容器自动修复的任何想法,这可能吗?现在,在 ec2 实例上使用一个 docker 注册表容器,我可以轻松地使用 ELB 进行健康检查,只需拆除并启动带有 docker 注册表的烘焙 AMI。但只是好奇我是否可以 运行 docker 注册表的集群设置(多个 docker regsitry 容器在多个 ec2 或单个高端 ec2.

我们目前正在对 AWS ELB 后面的私有 Docker 注册表进行测试,看来 ELB 正在以某种方式修改 request/response 以防止其正常工作(tcp 连接超时是症状)。我们仍在执行测试,但如果 ELB 无法正确代理与注册表的连接,我们可能会简单地使用 DNS 负载平衡和服务检查。

编辑:截至 2015 年 3 月 23 日星期一,AWS ELB 似乎可以在客户端和后端 Docker 注册表实例之间正确传递 docker 流量。

编辑 2:我们已经不再在 AWS 中管理我们自己的 Docker 注册表,现在使用 AWS container registry。如果您在 AWS 中 运行 时需要容器注册表,我们发现这是一种卓越的体验。

也许不完全是您的用例但是:我们也想提高 Docker 注册表的可用性。我们主要关心的是阅读,因为自动缩放经常会产生新的实例。事实证明,就可维护性和稳定性而言,最稳定的解决方案是使用 s3 作为后端,并在每个实例上启动一个注册表 docker 映像。您基本上是从本地主机拉取并拥有 s3 作为后端的完全稳定性。无需负载平衡中央注册表(故障点)。

也许不适合所有人,但对我们来说效果很好。