轩辕镜像支持 docker push 上传本地镜像吗?
本文适用于:
- • 已执行 docker login 轩辕镜像,尝试推送本地镜像
- • 使用 docker tag 将镜像打上专属域名标签后 docker push 失败
- • 终端出现 unsupported、Retrying 或长时间无响应
- • 在 daemon.json 中配置了 registry-mirrors 或专属域名
⚠️ 结论(请先读)
轩辕镜像当前仅提供镜像拉取(pull)加速服务,不支持将本地镜像推送到轩辕仓库(push)。即使登录成功、镜像名带有 *.xuanyuan.run 前缀,也无法作为私有镜像仓库使用。
✅ 轩辕镜像能做什么
从 Docker Hub、GCR、GHCR 等上游仓库加速拉取公开或已授权的镜像到本机,用于部署与 CI/CD。 详见:第一次用轩辕镜像拉 Docker 镜像。
不少用户会把「能登录」理解成「能上传镜像」。实际上,docker login 在轩辕侧主要用于拉取时的身份校验与流量计费,与 Docker Hub 等完整 Registry 的「登录后即可 push 私有镜像」不是同一类产品能力。
1️⃣ 推送时常见的终端表现
下列现象均属于「仓库未开放 push 接口」或客户端重试后的预期结果,一般不是账号密码填错:
现象 A:各层 Retrying 后失败
The push refers to repository [***.xuanyuan.run/myuser/myapp] 7b8f98f254e8: Retrying in 1 second 7fd3f26277cc: Retrying in 1 second ... unsupported
现象 B:直接提示 unsupported
docker push docker.xuanyuan.run/myuser/nginx:v1.2 ... unsupported
说明:Registry 若未实现或未开放 blob 上传(POST/PUT/PATCH)等 push 相关 API,Docker 客户端会在上传层数据时反复重试,最终报 unsupported 或连接类错误。这与「网络偶尔抖动」不同,换网络、多试几次通常也无法成功。
2️⃣ 为什么 tag 成轩辕域名后仍然 push 不了?
下面是一套无效但经常被尝试的流程——仅供对照,请勿当作官方用法:
# 本地构建或已有镜像 docker build -t mynginx:v1.2 . # 仅改标签,不会把镜像「登记」到轩辕服务器 docker tag mynginx:v1.2 ***.xuanyuan.run/myuser/mynginx:v1.2 # 推送仍会失败:轩辕侧没有该仓库的写入能力 docker push ***.xuanyuan.run/myuser/mynginx:v1.2
docker tag 只在本地为同一镜像层增加别名,不会在远端创建命名空间或仓库。 拉取时带轩辕域名,是为了走加速链路;推送则需要目标 Registry 明确支持上传,二者不能混用。 若需去掉拉取后的域名前缀,请参考:怎么用 docker tag 去掉镜像名里的轩辕域名前缀。
3️⃣ 配置了 registry-mirrors,为什么还是不能 push?
registry-mirrors 与 insecure-registries 解决的是从 Docker Hub 等地址拉取时的镜像加速或私有证书问题,不会让轩辕变成可写的私有仓库。
{
"registry-mirrors": ["https://***.xuanyuan.run"],
"insecure-registries": ["***.xuanyuan.run"]
}上述配置不能用来上传自建镜像。若 mirrors 未按预期生效导致的是拉取问题,请阅读:写了 registry-mirrors,为什么还是走官方或仍然报错?。
4️⃣ 需要发布或备份自建镜像,可以怎么做?
方案 A:使用支持 push 的镜像仓库(推荐用于团队共享)
- Docker Hub 个人/组织仓库
- 云厂商容器镜像服务(如阿里云 ACR、腾讯云 TCR、华为云 SWR 等)
- 自建 Harbor、GitLab Container Registry 等
推送至上述仓库后,若需在国内环境拉取,可再配置轩辕镜像只拉不写,例如:docker pull ***.xuanyuan.run/你的仓库路径:标签(具体路径以上游仓库规则为准)。
方案 B:离线拷贝(无需 Registry、适合内网单机/多机)
在一台机器 docker save 导出 tar,拷贝到目标机 docker load。 完整步骤见:机器不能直连外网时,怎么用 docker save / load 迁镜像?
5️⃣ 常见追问
网站有没有 push 相关文档?
轩辕镜像产品文档围绕拉取加速、登录、专属域名、流量与排错展开,不包含 push 教程——因为当前版本未提供该能力。若未来支持上传,会在官网公告与文档中单独说明。
专业版能否 push?
专业版与免费版的差异主要在镜像源范围、稳定性、专属域名与流量等拉取侧体验,均不支持向轩辕域名 push 镜像。 对比见:轩辕镜像免费版和专业版有什么区别?
登录成功了,是不是说明账号没问题、只是不能 push?
可以这么理解:登录成功表示拉取侧凭证有效;push 失败是服务能力边界,不是「再改一次密码就能推送」。若拉取也异常,再按401 认证失败 等文章排查。
小结:轩辕镜像 = 拉取加速;自建镜像发布请用 Docker Hub / 云 ACR / Harbor 等,或离线 save/load。 仍有疑问可通过网站工单联系客服,说明是「push 不支持」类咨询即可,无需反复尝试同一 push 命令。
你可能还会遇到:
本文由「轩辕镜像」维护
轩辕镜像 | Docker 镜像高效稳定拉取服务
内容基于轩辕镜像真实用户使用与实测整理