如何在Artifactory的远程Docker存储库缓存中用实际的Docker层替换。marker层

Nihal Reddy Chinna Choudhary
2021-04-26 22:27

影响版本:这个信息属于Artifactory版本5。X和6.x

在Artifactory,当客户试图一个来自远程Docker存储库的Docker映像,客户端拥有部分或全部的Docker映像缓存在本地磁盘上,然后Artifactory将下载这些图层并在Artifactory的。marker文件中标记它们远程缓存.只要远程Docker存储库有外部访问码头工人注册表或者它正在代理的任何其他上游存储库,那么.marker层将不会引起任何问题。

.marker当存储库被删除时,docker远程缓存中的层可能成为一个问题标记为脱机或者内容是复制到本地Docker存储库。当这种情况发生时,没有简单的方法来取代你的.marker层和它们实际的层。在这一点上,Docker拉图像与.marker层将开始失败.marker层只是实际层的参考。

JFrog有一个可用的脚本在这里(完成详细的自述文件),可以用来获取和缓存实际的Docker层,而不是.markerdocker远程存储库缓存中的层。请注意:脚本必须可以在Artifactory中具有外部访问权限的远程Docker存储库上运行。这将确保脚本的API调用能够通过Artifactory远程Docker存储库检索和缓存实际的Docker层。