DevOps 101:容器注册

这是转发自JFrog dev.to博客网站

当你刚进入一个行业时,你会遇到很多新概念。这可能会让你很难在一个不熟悉的地方站稳脚跟,尤其是对初级工程师来说。在本系列中,我将介绍DevOps领域的常用工具和术语,以及针对新兴或成熟技术的新手友好型教程。如果你有什么要求或建议,请告诉我!

今天,我将分解容器注册表。

什么是货柜注册处?

容器注册表是一种工具用于在存储库中托管、版本控制和分发容器映像。它们可以是公共的像码头工人中心或私人JFrog容器注册表.如果你用过Docker,你就拉过一个图像从容器注册表。现在有几个,有公共的和私有的,免费的和付费的,但我主要关注JFrog容器注册,因为它是免费的,可以在本地或云提供商上运行,并提供其他一些其他服务没有的好特性。就像赫尔姆仓库和先进的元数据。

公共和私有容器注册中心之间的区别是什么?

公共注册中心允许任何人在那里创建存储库和宿主容器映像,以供其他人使用。开始使用公共注册中心很快,因为您不需要处理任何基础设施。然而,公共注册中心确实牺牲了安全性来换取使用的便利性。如果使用标准映像对您的项目有效,并且您不关心安全性,那么公共注册中心可能是您的正确选择。

私有注册中心由将要使用它们的组织托管。JFrog容器注册中心可以托管在本地的硬件上(on-prem),也可以托管在像谷歌、Amazon或Microsoft这样的云提供商上。托管自己的容器注册中心为您提供了细粒度的访问控制和定义自己的安全策略的能力。由于组织完全控制映像、存储库和这些东西的访问控制,所以他们可以确定容器映像是他们所说的那样,没有人可以访问他们不应该访问的东西。在JFrog Container Registry的情况下,您还可以根据需要将映像组织到各种本地、远程、通用和虚拟存储库中。对于较大的组织,这种额外的可靠性和安全性值得在设置基础结构本身时付出努力。

这些不同类型的存储库是什么?

局部存储库就像它们听起来的那样——本地管理的存储库,您可以将工件部署到其中。很简单。

远程存储库用作远程管理存储库的缓存代理。这有点复杂,因为您必须定义缓存和代理的行为。它和镜子不一样;根据您定义的配置,工件只有在被其他东西请求时才存在于远程存储库中。

通用存储库没有与它们关联的特定包类型。在创建存储库的任何时候,都必须定义包类型。JFrog Container Registry使用它为您做一些幕后工作,为您的包索引工件和计算元数据,以优化性能。泛型存储库没有包类型,因此您可以在这里放入几乎任何您想要的内容,但是您确实失去了一些您在其他情况下会看到的特性。

虚拟存储库将具有相同包类型的各种远程和本地存储库的集合捆绑到一个URL中。

整洁。我该如何尝试这些东西呢?

最快最简单的方法是云托管JFrog容器注册的版本,因为它仍然是免费的(你在云提供商上支付一定数量的使用费用),主要是配置自己,不需要你设置反向代理。在这里注册您喜欢的云提供商,并跟随自动设置向导配置一些初始选项并创建您的默认存储库。

一旦完成了这些,就很容易进行交互了。您可以像以往一样使用本机Docker客户机与码头工人中心.登录:

码头工人登录${服务器名称}- {repo-name} .jfrog.io

要推送一个图像,给它一个标签并推送:

码头工人标签${服务器名称}- {repo-name} .jfrog。Io / docker push ${server-name}-{repo-name}.jfrog.io/

拉一张图片也很简单:

码头工人将${服务器名称}- {repo-name} .jfrog.io /

on-prem版本的设置和使用稍微复杂一些,但幸运的是官方文档是非常明确的。

帮我总结一下

如果您的组织或团队正在认真对待云原生开发,那么您可能会在某个时候使用私有容器注册中心。私有注册中心的目标是为您提供一个组织、版本和部署容器映像的地方,与托管在本地服务器或云上的公共注册中心相比,它具有更多的安全选项,并更好地集成到现有的CI/CD工作流中。JFrog容器注册表在三大云服务提供商中都是免费的prem或免费增值模式,并提供市场上其他服务的所有功能,外加一些额外的好处,如Helm存储库和丰富的元数据。

我希望我已经帮助您理解了这个工具为您做了什么,并为您提供了使用它的合理出发点。如果你仍然感到困惑,那也没关系——如果你有更多的问题,请随时与我们联系。请继续关注本系列的下一篇文章,如果您有深入研究或演示的要求,请告诉我!

额外的资源:2022世界杯阿根廷预选赛赛程