适用于Docker的JFrog Xray祖先

G S*_*noy 0 artifactory

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

请让我知道我想念的任何事情。

编辑:

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

Che*_*nan 11

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

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

如果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)
Run Code Online (Sandbox Code Playgroud)

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) 
Run Code Online (Sandbox Code Playgroud)

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

  • 不,它不能从B的manifest.json派生。构建Docker-A后,将在此新层上完成(基础层(B)+另一个层(B))计算的新校验和 (2认同)