适用于Docker的JFrog Xray祖先

时间:2019-11-21 21:43:43

标签: artifactory

我目前在人工制品中部署了两个A和B人工制品,并在X射线中对其进行了索引。 B是基础图像,位于A中。我在X射线ui中查看B,但是随后在祖先选项卡中,我没有找到A作为列出的祖先。

请让我知道我想念的任何东西。

编辑:

基本上,我的目标是获取某些工件的祖先,以确定组件关系,并执行一些ui回归测试。它处理当前类型-npm,maven,pypi和docker。指向这些类型的任何类似问题的任何指示,都应受到赞赏。

1 个答案:

答案 0 :(得分:11)

我将解释在UI中看到的与Xray索引docker图像方式有关的内容。 当在Xray中对Docker映像进行索引时,它会将manifest.json(Docker映像的抽象)索引为根父级,并将图层作为其后代。

注意:您在用户界面中看到的祖先/后代视图是基于校验和的关系

如果docker B具有2层,一旦它成为docker A的基础层,它将在Docker A中显示为1层(具有不同的校验和)

在示例中,您在上面提供了以下内容:


             Docker-A (manifest.json)                  Docker-B (manifest.json)
                    /          \                            /           \
                   /            \                          /             \
                 1/             2\                       1/              2\    
 Base Layer(B)+Another Layer(B) Another Layer(A)   Base Layer(B)  Another Layer(B)

Docker-A的清单不是清单Docker-B的始祖,因此,您不会在UI中看到它。

例如,如果Docker-B只有一层并且它是docker-A的基础层,那么在Docker-A中将显示具有相同校验和的同一层

       Docker-A (manifest.json)                  Docker-B (manifest.json)
                /          \                                  |           
               /            \                                 |            
             1/             2\                               1|                     
      Base Layer(B)    Another Layer(A)                Base layer(B) 

在这种情况下,如果您检查基础层(B)的祖先选项卡,您将同时看到Docker-A和Docker-B