当你的Docker Pull失败时出现“500 Binary provider has no content Manifest File”错误该怎么办
如果Docker pull失败并注册一个明显的错误:
无法为'....'创建清单标记:
二进制提供程序没有'....'的内容
检查以下内容:
- 在你的工厂里。xUI, navigate to Administration Module -> Monitoring -> Service Status (in versions 6.x and below, navigate to Admin > Configuration > High Availability) and verify that your IP values have been correctly configured for all of your nodes.
- 通过UI验证清单是否正确。Docker构件存在一个json文件。如果它不在那里,那么它在Artifactory中不可用,因此解释了为什么Docker pull失败。如果是舱单。json文件存在,请尝试从UI下载。
- 如果你能看一下舱单。在UI中的manifest. json文件中,通过右键单击manifest获取其SHA-1值。>通用>校验和。然后:
- 验证其二进制是否存在于二进制存储(文件系统)中。
- 如果您有一个分片集群,根据您设置的冗余,确认二进制文件存在于文件存储库中。
- 如果您的文件存储库中缺少二进制文件,那么它可能在您上传工件之后被删除了,这意味着您将需要发现为什么会发生从文件系统中删除的情况,然后恢复它。
如何验证文件存储库中是否存在二进制文件
Artifactory使用基于校验和的存储唯一地存储工件。这意味着上传的文件将按顺序:
- 它的SHA-1校验和计算
- 将其重命名为其校验和
- 在由校验和的前两个字符组成的目录结构中托管在文件存储库中
因此,校验和为ac3f5e56…的文件将存储在目录ac中,校验和为dfe12a4b…的文件将存储在目录df中,以此类推。下面的示例显示了d4目录,其中包含两个文件,它们各自的校验和以(您猜对了)d4开头:
发布日期:2019年7月8日
最后更新:2021年4月23日
关键词:Docker Pull