ARTIFACTORY Docker存储库下的“_uploads”文件夹是什么?

Fadi Rouhana
2023-01-22 11:06

当将Docker镜像推送到Artifactory时,Docker存储库下会创建一个“_uploads”文件夹,如下所示:

用户添加图片

为了更好地理解“_uploads”文件夹的用法,我们需要了解Docker Push API是如何工作的。Docker分两部分推送图像:首先它上传图层,然后,一旦所有图层都上传了,它就上传图像签署了清单,它会引用图层,将它们拉到一起,形成一个有凝聚力的图像。

“_uploads”目录用于什么?

由于Docker客户端的工作方式,我们不知道层应该部署到哪个路径,所以层被部署到“_uploads”目录。一旦Docker客户端推送清单。Json文件,我们可以确定图层的路径,并从“_uploads”目录复制上传的图层到该位置。最终,这些层将通过每日清理作业从“_uploads”目录中删除。

清理“_uploads”目录

中可以设置/修改以下系统属性JFROG_HOME美元/ artifactory / var / etc / artifactory / artifactory.system.properties
文件为了配置清理作业,负责清理“_uploads”目录:

  • maxagemillis -这个属性决定了作业要删除的文件的年龄。
  • uploadstmpfolderjobmillis -该属性决定该作业运行的频率。

例如,要将层的最大年龄设置为24小时,并将作业调度为每天运行一次,请将下面的示例配置添加到JFROG_HOME美元/ artifactory / var / etc / artifactory / artifactory.system.properties
文件和重新启动Artifactory的机会生效:
artifactory.docker.cleanup.maxAgeMillis = 86400000
artifactory.docker.cleanup.uploadsTmpFolderJobMillis = 86400000

注意:根据作业的频率、本地存储库的数量以及我们需要删除的文件量,更改频率可能会影响Artifactory的性能。

重要提示:在配置清理作业时,请确保考虑到慢客户机上传大Docker映像的情况。在这些情况下,从部署第一层到上传清单文件之间的差值不能大于" artifact .docker.cleanup. conf . conf . conf . conf . conf . conf。maxAgeMillis”属性,否则,该层可能会被移除,从而导致推送失败。