英文:
Pull from docker hub returns not found with older docker version
问题
我有一个使用旧版本的Docker 17.06.1-ce
的服务器,我注意到一些通过新版本的Docker和docker buildx
构建并推送的镜像无法拉取,出现如下错误:
来自守护程序的错误响应:找不到 wodby/mariadb:10.3-3.24.0 的清单
具有此标签的镜像可以在Docker Hub上找到,使用更新的Docker可以正常拉取。
登录到Docker Hub不影响任何内容。我在工作和不工作的服务器上使用相同的架构 linux/amd64
。
这是否是已知行为?是否有解决此问题的方法?我猜原因可能是旧的Docker Hub API 已被弃用。
更新:根据 https://www.docker.com/blog/registry-v1-api-deprecation/ ,Docker 17.03+ 兼容v2注册表API,应该正常工作。
英文:
I have a server with the old version of docker 17.06.1-ce
and I've noticed that some images (built and pushed via new docker and docker buildx
) cannot be pulled with the error, e.g.:
Error response from daemon: manifest for wodby/mariadb:10.3-3.24.0 not found
The image with this tag can be found on docker hub and docker pull works fine with newer docker.
The login to docker hub doesn't affect anything. I use the same architecture linux/amd64
on servers where it works and doesn't work.
Is this a known behaviour? Is there a way workaround for this? I guess the reason could be the deprecation of the old docker hub api.
UPD: according to https://www.docker.com/blog/registry-v1-api-deprecation/ docker 17.03+ are compatible with v2 registry API and should be working fine
答案1
得分: 1
似乎问题是由于buildx版本引起的。我使用GitHub Actions (docker/setup-buildx-action
) 来构建镜像,其中包括无法拉取的镜像。GitHub Actions 最近将构建操作系统从Ubuntu 20.04 LTS升级到了22.04 LTS,并随之将buildx从0.9.1升级到0.10.0,从那时起,拉取操作停止工作。很可能是由于SLSA出处认证引起的 https://github.com/docker/buildx/releases/tag/v0.10.0
我通过将Docker升级至至少18.06+来解决了拉取问题。
参考链接 https://forums.docker.com/t/docker-17-06-pull-returns-not-found-for-existing-image/134524/3
英文:
It seems the issued caused by buildx version. I use GitHub Actions (docker/setup-buildx-action
) to build images include the one that cannot be pulled. GitHub Actions has recently upgraded their build OS from Ubuntu 20.04 LTS to 22.04 LTS and with it they upgraded buildx from 0.9.1 to 0.10.0 and since then pull has stopped working. Most likely caused by SLSA provenance attestation https://github.com/docker/buildx/releases/tag/v0.10.0
I've resolved the pull issue by upgrading docker to at least 18.06+.
Ref https://forums.docker.com/t/docker-17-06-pull-returns-not-found-for-existing-image/134524/3
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论