首页 > 解决方案 > docker 镜像在没有 dockerhub.com 的情况下部署和在 Jenkins 中使用的可行性

问题描述

我正在尝试使用 kubernetes 和 Jenkins 来部署使用 spring boot 开发的微服务。当我探索时,许多 Youtube 视频和其他文档教程都使用 dockerhub.com 将发布的图像保存为存储库。在这里,我感到有点怀疑。我在这里添加,

  1. 我可以在不使用这个 dockerhub.com 的情况下使用 Jenkins docker image build 在 kubernetes 中部署 docker 镜像吗?Menas 我不想在公共场所共享客户端代码。那么我可以在没有 dockerhub.com 的情况下使用 Jenkins

有人可以澄清我的疑问吗?

标签: jenkinskubernetes

解决方案


您确实需要使用一些注册表——kubernetes 需要一个注册表 URL 才能将特定映像作为容器中的容器拉取和实例化。为避免图像本身可公开访问,您有 2 个选项:

  • 在公共登记处使用企业帐户。您可以从 Docker 或其他服务(如 Google 或 Quay)获得其中之一。当您使用企业帐户推送图像时,您会在公共注册表中获得一个私有空间,并且只有您的帐户凭据才能推送和拉取这些图像。在这种情况下,您的 Kubernetes 和您的 Jenkins- 必须使用从您的帐户派生的凭据进行配置,以便能够将这些私有映像拉入您的集群。
  • 在集群或非集群基础架构上运行私有注册表 私有注册表有很多种,包括 Docker、Atlassian 等等。这使您的图像完全保留在您的基础架构上。权衡是您必须将其作为生产服务进行配置和运行,并且大多数适合生产使用的私有注册表都有很多可移动部分,用于可扩展的图像存储、索引、备份等。

推荐阅读