我正在使用支持Windows容器的Windows版Docker测试版。当我尝试将Windows映像(基于microsoft / windowsservercore映像)推送到Artifactory存储库时,出现错误。它允许推送所有图层,但随后失败说明:
manifest invalid: manifest invalid
软件版本:
有没有办法看到它试图推送到服务器的清单是什么样的?有谁知道它为什么会失败,如果这只是Artifactory不支持的东西呢?
我在Artifactory日志中找到了这个:
2016-11-18 22:25:27,921 [http-nio-8081-exec-14878] [ERROR] (o.j.r.d.v.h.DockerManifestSyncer:47) - Could not find temp blob 'my-windows-image/_uploads/sha256__d33fff6043a134da85e10360f9932543f1dfc0c3a22e1edd062aa9b088a86c5b'
2016-11-18 22:25:27,921 [http-nio-8081-exec-14878] [ERROR] (o.j.r.d.v.r.h.DockerV2LocalRepoHandler:262) - Failed syncing manifest blobs, canceling manifest upload
答案 0 :(得分:4)
这是外来图层的问题。基本上,您上传的图像清单是引用至少一个不打算上传的(外部)图层(如本pull request中所述)。 Artifactory期望上传清单中引用的所有图层。由于这两个因素,您会看到您发布的错误。这些外来层的概念有点新,似乎几乎只用于特定于Windows的图像。 Artifactory已经有一个开放的JIRA(RTFACT-10305)来支持这个。