【记录贴】docker镜像格式报错

1,错误内容

最近想要补一补docker的基础知识,跟着练习的时候,发现下面的错误。

换了其他镜像(docker pull ubuntu)也存在同样的问题:

错误内容:docker: mediaType in manifest should be 'application/vnd.docker.distribution.manifest.v2+json' not 'application/vnd.oci.image.manifest.v1+json'.

复制代码
[root@localhost ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
docker: mediaType in manifest should be 'application/vnd.docker.distribution.manifest.v2+json' not 'application/vnd.oci.image.manifest.v1+json'.

2,发生原因

查看内容提示,可以看出,原因是期待的镜像格式是'application/vnd.docker.distribution.manifest.v2+json',但是下载下来的镜像格式是'application/vnd.oci.image.manifest.v1+json'.,所以检查不通过,报错。

问题1:这个格式用来干啥?

简单来说,镜像清单描述了一个 Docker 镜像的各种组成部分,告诉用户一个镜像是如何组成的。有多种格式,上面也只是其中两种。

参考下面文章:
K8S 1.20 弃用 Docker 评估之:Docker 和 OCI 镜像格式的差别-腾讯云开发者社区-腾讯云 (tencent.com)

问题2:这两个格式的区别

我的理解,application/vnd.docker.distribution.manifest.v2+json是docker工具(容器管理工具除了docker,还有其他,比如podman)这边自己的格式,application/vnd.oci.image.manifest.v1+json更加通用(除了docker,其他容器管理工具也能用)。

看了一下dockerhub上的镜像,一些最新的镜像也都转成后者了。

问题3:为啥会报错?

本地docker版本太低,不支持application/vnd.oci.image.manifest.v1+json格式。

3,如何解决?

解决1:升级docker版本,将docker升级到比较新的能够支持application/vnd.oci.image.manifest.v1+json格式的版本(具体多少之后支持,这个需要查一下),有知道的小伙伴可以call我一下。(我用的第二种方法)

解决2:拉取镜像的时候,采用比较旧的镜像(还是application/vnd.docker.distribution.manifest.v2+json的格式)。

可以去docker hub上面看一下有没有格式相关的信息,或者去对应的github上查看更新履历。

hub.docker.com

相关推荐
EatFans几秒前
Docker 实战部署:从本地镜像到云服务器,一篇走通 FastAPI + Celery + MySQL + Redis + Nginx
docker·fastapi
judezh21 分钟前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
暗不需求26 分钟前
Docker 入门:从「光盘与 DVD」到全栈项目容器化实战
docker·容器·面试
春天花会开13132 分钟前
内网 HTTPS 部署实战:私有 CA + Nginx 反向代理全流程复盘
运维·nginx·https
AllFiles36 分钟前
K8s Node Exporter 异常 Write 超时排查实录
运维·后端·kubernetes
探索云原生37 分钟前
一个 Deployment 就能跑 vLLM,为什么还需要 KServe?
docker·ai·云原生·kubernetes·go
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS5 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站6 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏6 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s