关于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来说完整的可追溯性通过Jenkins CI服务器生成Docker映像。请继续关注我们即将发布的文章。

Docker图像暴露

Artifactory会深入查看Docker注册表中存储的图像。在Artifactory的树浏览器中选择任意图像,并选择Docker Info选项卡。Artifactory显示了用于选择标记的全部命令历史以及它的摘要,这与您在运行时看到的类似码头工人历史:

dockertagvisualization1

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

的后代

控制图像下载

你可以阻止从你的Artifactory Docker注册表下载图像,如果图像还没有被x射线扫描,并被授予批准印章,它没有已知的漏洞或问题。您甚至可以确保您的Docker映像符合您的组织可能拥有的任何OSS许可策略。如果你使用Arftifactory的分布存储库将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//v2//tags/list " -H "X-JFrog-Art-Api: AKCp2UNCt2ENCPMX2LUQn2kkYfpDm2E4LgE6EKR3JEsWDXGbJxY18LsEvkYAGWmnKLddV88Hw”

了解更多关于使用Artifactory作为您的码头工人注册表
还没有使用Artifactory作为Docker注册表?获得免费试用