一、背景

大家曾经留神到,Docker Hub当初开始对镜像拉取进行限度,无论是收费的匿名用户,还是认证用户。在六个小时内,从一个IP地址镜像拉取的申请次数超过固定阈值(匿名用户100次,认证用户200次)后,Docker Hub就会限度其拉取带宽。尽管用户依然能够拉取到Docker镜像,然而速度要慢得多。

您能够浏览咱们之前的博客文章《绕开Docker Hub下载限度:JFrog Artifactory》(https://mp.weixin.qq.com/s/I8...),以理解Docker Hub的相干策略,以及JFrog Artifactory如何帮忙您绕过这个限度。

对于依赖Docker Hub并将其作为Docker镜像核心的企业,这项新政策可能对其生产力产生重大影响。因为阈值是基于IP的,而不是基于用户的,因而这些限度可能会更快、更频繁地影响到企业的交付效率。

您晓得这些变动如何影响您的交付吗?通过对JFrog日志剖析的最新改良,当初JFrog Artifactory的用户能够通过JFrog的日志剖析来查找并决策如何加重这些限度的影响。本文将就此作简略的介绍。

二、应用Artifactory缓存Docker Hub的拉取申请

Artifactory的用户曾经能够通过为Docker Hub建设近程仓库来升高拉取的频率。该近程仓库将代理并缓存从Docker Hub拉取的每个Docker镜像,以便未来从您的企业级制品库/镜像核心中间接拉取该镜像。

这样,只有从Docker Hub到缓存的第一次拉取才会计入Docker Hub的拉取限度。您最常应用的Docker镜像将始终以全速传递到您的构建中。而且一旦做了缓存,即便Docker Hub上的相应镜像变得不可用,这些镜像在企业级制品库/镜像核心中将始终保持可用。

您还能够在Artifactory中保护本人平安的、公有的Docker镜像核心,以进一步缩小对Docker Hub的依赖。

三、Docker仓库剖析

对于由Artifactory反对的JFrog DevOps平台的自主装置,咱们提供了一个集成工具,该工具可通过Fluentd数据收集提供对立的JFrog日志数据。咱们还提供了其余一些应用程序和集成形式,能够应用这些数据,并出现到风行的分析程序(包含Splunk、Elastic Stack、Prometheus/Grafana和DataDog等)仪表板上。

通过最适宜您的剖析工具,您能够查看有价值的运维统计数据,例如数据传输量、哪些仓库正在被谁应用,以及哪些用户被回绝拜访等。

咱们更新了这些集成,以提供一个新的Docker统计信息选项卡,可帮忙您监督Docker Hub的应用状况。上面就让咱们一一介绍一下它们,以及它们在Splunk的JFrog Logs应用程序中的显示方式。

1、拉取申请趋势

单个计数批示最近6个小时对Docker Hub收回的拉取申请的数量,以及趋势是减速还是降落。该计数不包含近程仓库缓存满足的计数(即缓存未命中),因而它仅计算合乎Docker Hub限度策略的拉取申请。

2、Docker仓库缓存命中率

缓存满足Docker镜像申请的频率以比率示意,其中值1示意缓存满足所有申请。例如,上面显示的比率0.703是70.3%的缓存命中率。因而,只管高速缓存未命中总计269次(29.7%),但Artifactory以全传输速度解决了628个拉取申请。

3、Docker Hub拉取申请

该图显示了在6小时滚动工夫内收回的Docker Hub拉取申请的数量。每个栏显示从该小时标记开始的前六个小时内收回的拉取申请的总数。

该统计信息将帮忙您查看您的企业是否靠近或超过了Docker Hub限度策略,以及拉取顶峰在什么工夫。

4、十大用户和IP

这些统计数据按用户和IP地址揭示了Docker仓库的次要用户是谁。如果您发现超出了拉取申请,则此信息能够帮忙您确定次要的负责方。


四、总结

Docker Hub推出了对拉取申请的限速策略,应用Artifactory作为企业级镜像核心能够帮忙您绕过这个限度,而JFrog的日志剖析能够帮忙您剖析企业Docker Hub拉取申请的状态。

您能够在Github上找到JFrog日志剖析集成的数据收集和剖析工具(https://github.com/jfrog/log-...)。

它始于与开源数据收集器Fluentd的集成,该集成可随JFrog Platform部署的每个产品实例一起装置。Fluentd在JFrog平台中为每个产品执行日志输出、字段提取和记录转换,并将此数据的输入标准化为JSON,以传输到剖析和BI仪表板。

应用此解决方案,您能够治理从Docker Hub拉取的次数和频率,并加重新限度策略的影响。