0

我喜欢用 OKD 中现有的 Nexus Docker 注册表替换我在 OKD 中的默认 Docker 注册表。如何用 Nexus Docker Registry 替换 OKD 中现有的 docker 注册表?

这个想法是将我所有的图像托管在那个 Nexus 存储库中。例如,当我使用 S2I 时。

4

3 回答 3

1

这个主题(正如@GhostCat 所指出的)让你的选择非常开放,直到你做出一些额外的决定。您可能需要调查一些资源/主题,以帮助磨练您想要的结果:

1) 从外部注册表推送/拉取

在本主题中,我建议您不要“替换”内部注册表,而是在内部注册表旁边运行一个关系注册表。内部注册表仍可用于存储系统组件、s2i 映像构建器等,而 Nexus 可以作为您的应用程序的主要注册表。

2) 将所有注册表功能/组件移至 Nexus

在本主题中,您需要阅读有关 OpenShift 的断开连接的安装说明,并将它们调整为您自己的 Nexus 配置。本质上,您需要加载 Nexus 中的所有图像并修改 openshift 中的所有模板/图像流以指向新存储库。

于 2018-10-21T20:38:01.717 回答
0

感谢那篇文章,它很有帮助,但有没有办法将此自动选择设为默认值?所以我所有的构建图像总是转到我的外部 Nexus Docker 存储库?因为如果它进入内部注册表,那么我们会因内部注册表容器崩溃而重新启动而丢失图像。

尤其是 S2I 图像。

于 2018-10-22T14:42:03.970 回答
0

我看到了一些要讨论的想法;

1) 如果您只是希望您的构建输出针对另一个外部存储库而不是默认的内部存储库,则可以在您的任何外部 ci/cd 系统中将其作为构建配置的一部分进行编码。openshift 中最常见的方法是让 Jenkins 通过代码仓库中的 Jenkinsfile 创建构建配置。我不知道有一种简单的记录方法可以覆盖系统中所有构建输出的默认配置或设置。

2) 如果您在内部注册表中丢失了图像,那么您没有利用持久存储,应该考虑这一点。见[这里](https://docs.okd.io/3.10/install_config/registry/extended_registry_configuration.html#docker-registry-configuration-reference-storage

于 2018-10-23T07:02:23.167 回答