Docker层,没有为artifactory中的图像拉外来层,有URL变了吗



我们已经向Artifactory 推送了一个更新docker图像

在manfafest 中,两个外来层曾经是这样的

{
"mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip",
"size": 1718332879,
"digest": "sha256:4612f6d0b889cad0ed0292fae3a0b0c8a9e49aff6dea8eb049b2386d9b07986f",
"urls": [
"https://mcr.microsoft.com/v2/windows/servercore/blobs/sha256:4612f6d0b889cad0ed0292fae3a0b0c8a9e49aff6dea8eb049b2386d9b07986f"
]
},
{
"mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip",
"size": 997587446,
"digest": "sha256:ba8181afd4264392fbbf8df14fb4cddc55fbe085ab000e986b789678bc2bb171",
"urls": [
"https://mcr.microsoft.com/v2/windows/servercore/blobs/sha256:ba8181afd4264392fbbf8df14fb4cddc55fbe085ab000e986b789678bc2bb171"
]
},

现在在新的图像中,manfafest他们看起来像这样?

{
"mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip",
"size": 1718332879,
"digest": "sha256:4612f6d0b889cad0ed0292fae3a0b0c8a9e49aff6dea8eb049b2386d9b07986f",
"urls": [
"https://docker.securethingz.com:443/artifactory/api/docker/stz-docker/v2/stz/ltsc2019/mingw64build/blobs/sha256:4612f6d0b889cad0ed0292fae3a0b0c8a9e49aff6dea8eb049b2386d9b07986f"
]
},
{
"mediaType": "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip",
"size": 997587446,
"digest": "sha256:ba8181afd4264392fbbf8df14fb4cddc55fbe085ab000e986b789678bc2bb171",
"urls": [
"https://docker.securethingz.com:443/artifactory/api/docker/stz-docker/v2/stz/ltsc2019/mingw64build/blobs/sha256:ba8181afd4264392fbbf8df14fb4cddc55fbe085ab000e986b789678bc2bb171"
]
},

当我提取新图像时,除了两个外来层外,所有层都会下来,它会多次重试这些层,然后失败:-(旧的图像仍然很好。

如果我找到链接diectryhttps://mcr.microsoft.com/v2/windows/servercore/blobs/sha256:4612f6d0b889cad0ed0292fae3a0b0c8a9e49aff6dea8eb049b2386d9b07986f它下载一个文件。如果我去https://docker.securethingz.com:443/artifactory/api/docker/stz-docker/v2/stz/ltsc2019/mingw64build/blobs/sha256:4612f6d0b889cad0ed0292fae3a0c8a9e49af6dea8eb049b2386d9b007986f它得到了这个。{"错误":[{"代码":"未授权","消息":"需要身份验证","详细信息":空}]}

据我所知,Arty的每一件事都是为了匿名阅读。

我们正在使用Arty 7.41.7修订版74107900

怎么了,我们该怎么解决?

我们已经设法解决了这个问题。我们所做的:

使用docker系统清理docker-a
我们制作了一个新的简单docker文件

FROM my_arty.com/dotnet/framework/runtime:4.7.2-20220913-windowsservercore-ltsc2019 
RUN echo "Done"

构建它并将其推送到my_arty
现在我们之前制作的其他新图像可以在其他机器上下载。

我们的假设是,远程repo中的一些层被删除了(我们不知道是怎么删除的(,并且构建和推送简单的docker文件在my_arty上的mcr.microsoft.com的远程缓存中重新启动了它们,恢复了所有清单的完整性。

{*"错误":[{"代码":"未授权","消息":"需要身份验证","详细信息":空}]}*当直接转到blob URL时仍然存在,但这似乎从来都不是一个真正的问题。

最新更新