registry - 私有(private) Docker 注册表和高可用性

标签 registry docker mirroring

我们目前正在一台托管我们所有图像的服务器上运行私有(private)注册表。 如果服务器崩溃,我们基本上会丢失所有图像。我们希望找到一种方法来实现图像的高可用性。 我认为一个简单的解决方案是每台服务器都有一个注册表实例。 负载均衡器会将流量重定向(循环)到可用的注册表实例。注册表实例将共享相同的网络数据驱动器(NFS)来存储图像。

您发现此解决方案有任何问题吗? 即:如果用户在一个实例上推送一个镜像,然后在另一个实例上推送另一个镜像(负载均衡器循环决策),它会在 NFS 上创建任何锁定文件吗?

感谢您的反馈

最佳答案

可以使用 S3 来支持注册表,如 here 中所述。 。在容器中运行注册表是值得的,这样您就可以在发生灾难性主机/数据中心故障时立即启动另一个容器。注册中心还支持 GCloud 和 OpenStack。

如果您担心数据丢失,请为持久性添加冗余并确保定期备份。您还应该确保您的构建是幂等的,以便在绝对必要时可以重建镜像。

关于registry - 私有(private) Docker 注册表和高可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28540703/

相关文章:

com - COM TreatAs 如何(以及何时)起作用?

windows - 添加到 HKCU/Software/Classes 后无法通过 URI 启动 Windows 程序

nginx - 将 nginx conf 挂载为 docker 卷会导致系统错误 boot2docker

通过 SSH 镜像到 Github 时 Git 挂起

node.js - ImageMagick,Linux 终端

git - 使用 API 将 Git 存储库导入 GitLab?

windows-7 - Windows 7 提升的注册表访问

registry - Inno Setup 不允许访问所有注册表项,为什么?

java - com.spotify.docker.client.DockerRequestException : Request error: DELETE unix://localhost:80/v1. 12/容器/...:409

docker - 无法将 Celery 服务器连接到本地主机上的 RabbitMQ