我想下载一个标记的Docker图像
docker pull clkao/postgres-plv8:10-2
并且,在合成文件中,
postgres:
image: clkao/postgres-plv8:10-2
但是收到一个manifest not found
异常。
除非我弄错了,that tag exists在Docker Hub中,但是我注意到它没有出现在tags list上。
我做错了什么吗?或者这可能是Docker Hub的问题或者回购协议的设置方式?
如果这不是“我的错”,有什么建议继续前进?也许创建我自己的Dockerfile?
7条答案
按热度按时间bwleehnv1#
您也可以尝试
docker pull -a <image>
。-a
将拉取该映像的所有版本,这至少让您知道那里有什么。(This如果您真的需要特定的版本,它就不那么有用了,但当我试图拉出一个由于某种原因没有“最新”标记的图像时,它帮助了我。)
编辑:这实际上是一个非常 * 糟糕 * 的主意,因为它会拉下整个历史记录,对于许多存储库来说,这可能是许多GB。最好去看看存储库网站,看看你想要什么标记。不要在你累的时候发布答案。:-(
osh3o9ms2#
您得到错误消息是因为不存在带有“10-2”的标记。
您可以尝试找出原因并联系存储库所有者,也可以尝试构建自己的存储库。
2izufjch3#
我刚看完这个“清单/未找到:清单未知:注册表无法识别命名的清单。”
使用
u7up0aaq4#
检查docker的图像也不仅是标签存在,我试图运行Flyway版本5.0.1的图像flyway/flyway哪个版本不存在,它只存在于版本flyway/flyway:最新的似乎,而5.0.1存在,我拉它,但在/从不同的仓库名称,与仓库名称boxfuse/flyway.
对于错误消息“Docker清单未知”
vybvopom5#
当您使用docker pull时,如果没有标签,它将默认为标签
:latest
。请确保在构建映像时添加最新标签,或者我们可以通过标签名称(在映像名称之后加上冒号)访问映像cbeh67ev6#
我认为你正在尝试标记你的图像为v8.10.2。确保在本地标记图像时,你使用相同的标记,你想拉在未来。所以步骤如下:
7fyelxc57#
如果这是通过
docker.pkg.github.com
从Git获得的,那么你需要切换到ghcr.io
。前者已被弃用,不支持manifest端点,因此一些Docker客户端在尝试下载各种资源时会失败,并显示此错误消息。如果你将图像发布到ghcr(Github Container Repository),Docker图像提取过程应该会成功完成。更多信息:https://docs.github.com/en/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry
注意:容器注册表目前处于公开测试阶段,可能会发生更改。在测试期间,存储空间和带宽是免费的。要使用容器注册表,您必须启用功能预览。有关详细信息,请参阅“GitHub包简介”和“使用容器注册表启用改进的容器支持”。