让 AI 帮你使用轩辕镜像?

如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:

生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。

国内用户首推 元宝 AIDeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

Docker 拉取出现 406 或 OCI index 不支持怎么办?

本文适用于:

  • • 拉取时出现 HTTP 406 相关错误
  • • 报错含 OCI index found, but accept header does not support oci indexes
  • • Docker / containerd 版本较旧,拉取多架构(manifest list / OCI index)镜像失败
  • • 需与「410 Gone」(Registry V1 协议)和「no matching manifest」(架构不匹配)区分

先搞清一点:406 通常表示客户端太旧,无法协商现代清单格式

当镜像提供 OCI indexmanifest list(多架构索引)时,旧版 Docker 客户端在 HTTP 协商阶段无法声明接受该媒体类型,Registry 会返回 406 Not Acceptable。 这与镜像源是否为轩辕加速无直接关系,升级本机 Docker 组件后通常即可恢复。

典型报错示例

docker pull nginx:latest Error response from daemon: manifest for nginx:latest not found: manifest unknown: OCI index found, but accept header does not support oci indexes

部分环境会在外层再包一层 406 状态码描述,核心信息仍是客户端不支持 OCI index。

常见原因

  • Docker Engine 版本过旧:低于 20.10 的版本对 OCI 清单与 index 的支持不完整;建议升级到 20.10+,更好是 24.x / 25.x
  • 内置 Docker 组件陈旧:群晖 DSM、旧版 Kubernetes 节点、部分 NAS 或国产发行版自带的 Docker 长期未更新
  • 多架构镜像要求更高:同时包含 amd64、arm64 等平台的官方镜像(如 nginxredis)普遍使用 manifest list,对客户端版本更敏感

处理步骤

1)确认当前 Docker 版本

docker version docker info | grep -i "Server Version"

若 Server Version 明显低于 20.10,应优先安排升级。

2)升级 Docker 到较新版本

Linux 可参考 Linux Docker 安装与升级教程。群晖、统信、麒麟等请通过系统套件中心或厂商文档升级 Docker 套件,不要仅升级内核而忽略 containerd / dockerd。

3)升级后重新拉取

升级完成并重启 Docker 服务后,重新执行 docker pull。 若需指定单一架构,可参考 如何拉取指定 CPU 架构的镜像

与相近错误的区分

  • 406 / OCI index:客户端太旧,无法处理多架构索引 → 升级 Docker
  • 410 Gone:客户端尝试 Registry V1 协议 → 同样需要升级 Docker,但报错形态不同
  • no matching manifest:客户端版本正常,但镜像未提供当前 CPU 架构 → 换镜像或换运行环境
  • Schema 1 已废弃:镜像清单格式过老,通常报 422 或 schema 1 字样 → 换新版镜像,无法仅靠升级客户端解决

本文由「轩辕镜像」维护
轩辕镜像 | Docker 镜像高效稳定拉取服务
内容基于轩辕镜像真实用户使用与实测整理

镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:13763429。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。