You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Skopeo无法将Docker镜像复制到Zot Registry的问题

解决Skopeo推镜像到Zot Registry v2.0.1报400错误的方案
  • 修正命令路径格式
    你的docker-archive路径少了一个根斜杠,正确的绝对路径格式应该是docker-archive:///home/nginx/nginx-docker.tar(三个斜杠),路径错误可能导致Skopeo无法读取镜像文件,进而触发异常请求。同时,Zot v2对仓库命名规范要求更严格,尝试给镜像加上library/前缀:
skopeo copy --debug --insecure-policy --dest-tls-verify=false docker-archive:///home/nginx/nginx-docker.tar docker://127.0.0.1:8080/library/nginx:latest
  • 调整Zot配置兼容旧请求
    Zot v2默认启用严格的OCI Distribution Spec标准,部分Skopeo的请求格式可能不匹配。修改Zot的config.json配置文件,添加兼容设置:
{
  "distSpecVersion": "1.0.1",
  "legacyRedirects": true,
  "autoCreateRepos": true,
  "storage": {
    "rootDirectory": "/var/lib/zot"
  },
  "http": {
    "address": "0.0.0.0",
    "port": 8080
  }
}

修改后重启Zot服务,legacyRedirects会兼容旧的镜像推送路径,autoCreateRepos确保推送时自动创建仓库。

  • 验证API端点可用性
    用curl手动测试Zot的镜像上传端点,确认服务是否正常响应:
curl -v -X POST http://127.0.0.1:8080/v2/library/nginx/blobs/uploads/

如果返回202状态码,说明端点正常;若仍返回400,检查Zot是否完整安装,或者尝试切换到Zot v1.x版本测试兼容性。

  • 版本兼容性排查
    Skopeo v1.15.0与Zot v2.0.1可能存在适配问题,尝试升级Skopeo到最新稳定版,或者降级Zot到v1.4.x版本,验证是否能正常推送镜像。

内容的提问来源于stack exchange,提问作者pranay jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 04:35:04