关于Artifactory中的Docker注册表你应该知道的5件事

作为通用工件存储库管理器Artifactory是一个完全成熟的Docker注册表。除了存储和管理Docker镜像之外,Artifactory还提供了与CI管道的广泛集成,支持通过外部提供商进行身份验证,高可用性,大规模可扩展存储,并不断更新以支持最新的Docker客户端版本和api。

为了帮助您成为Artifactory的高级用户,我编译了一些客户在使用Artifactory Docker注册表时遇到的用例和常见问题解答。所以这里有5个技巧可以帮助你编排你的Dockerized环境:

Docker注册表清理

在发展的过程中Dockerized应用程序,您可能会非常频繁地运行构建并生成大量的标记(版本)。手动处理清理和保留在某种程度上可能是无效的。为了帮助您保持Docker注册表的整洁,Artifactory有一个内部机制来限制特定图像的标记(版本)数量很容易配置您可能还想知道Artifactory的垃圾收集器会自动清除任何未引用的Docker层。由于Docker标签被删除(无论是由于标签限制还是故意删除),这些层不被任何图像使用。所有这些Docker注册表的“春季大扫除”都是透明和自动地在幕后完成的,没有任何停机时间。

Docker版本暴露

Artifactory最明显的区别之一是其详尽的构建信息,支持完全可复制的构建。虽然这对其他包格式来说不是什么新闻,但对Docker来说却是。新Docker构建信息支持因为詹金斯允许完整的可追溯性通过Jenkins CI服务器生成的Docker镜像。请继续关注我们即将发布的文章。

Docker镜像曝光

Artifactory会深入研究存储在Docker注册表中的映像。在Artifactory的树状浏览器中选择任意图像,然后选择Docker Info选项卡。Artifactory显示了用于选择标记的命令的整个历史记录及其摘要,类似于运行时的结果码头工人历史:

dockertagvisualization1

通过Artifactory与JFrog Xray集成,您可以从另一个角度暴露Docker映像。x射线进行深度扫描对Docker注册表中的映像进行递归扫描然后进行影响分析,以确定哪些组件感染了安全漏洞或x射线检测到的任何其他问题。在下面的例子中,我们看到nginx Docker镜像中包含一个有漏洞的组件。如果没有这种影响分析,就很难检测到哪些Docker映像受到了影响。

的后代

控制图像下载

如果图像还没有被x射线扫描,并且没有被批准没有已知的漏洞或问题,您可以阻止图像从Artifactory Docker注册表下载。您甚至可以确保您的Docker映像符合您的组织可能拥有的任何OSS许可政策。如果你用的是artiffactory的分布存储库将您的Docker映像分发到组织外部Bintray,你可以将下载控制在特定Docker标签的级别,以确保只有有资格的用户才能使用你的图像。要了解有关控制下载的更多信息,请查看下载阻塞

身份验证方法

Artifactory支持许多方法来管理和验证用户身份如LDAP/Active Directory、OAuth、SAML等。但是,这会创建对外部身份验证提供程序的依赖,您可能并不总是想要这种依赖。例如,如果您的LDAP服务器(或SAML,或您正在使用的任何服务器)不可用,您不希望您的Docker构建陷入停顿。要删除此依赖项,您可以通过为构建服务器的用户创建API密钥并使用该密钥进行身份验证。方法创建API密钥用户配置文件页,或通过REST API.API密钥可以作为参数传入X-JFrog-Art-Api元素(如下面的示例所示),或者它可以在使用时替换密码基本身份验证

$ curl -X GET " https://:8081/artifactory/api/docker/< rename >/v2//tags/list " -H "X-JFrog-Art-Api: AKCp2UNCt2ENCPMX2LUQn2kkYfpDm2E4LgE6EKR3JEsWDXGbJxY18LsEvkYAGWmnKLddV88Hw”

了解更多关于使用使用Artifactory作为您的码头工人注册表
仍然不使用Artifactory作为您的Docker注册表?免费试用