docker拉失败。 显示无效:显示无效 – artifactory

docker 1.9.1在从私有V2registry中拉出时失败。

$ docker -v Docker version 1.9.1, build 78ee77d/1.9.1 $ docker pull web-docker.bin-repo.hostname.com/web-dev:latest Trying to pull repository web-docker.bin-repo.hostname.com/web-dev ... failed manifest invalid: manifest invalid 

相同的命令在docker 1.10.3的OSX上正常工作。 谁能告诉我为什么这不工作,如何进一步排除故障?

更新 :这是它试图拉的清单。 它可以提取v1清单,但是在v2清单上失败,如下所示。

 { "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "config": { "mediaType": "application/octet-stream", "size": 7503, "digest": "sha256:58672cb2c8c6d44c1271a5ca38e60a4ab29fb60050bc76995ce662c126509036" }, "layers": [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 32, "digest": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 72038766, "digest": "sha256:35d9d5d11536c0c6843ecd106dc710b5c54b8198aa28710e73dba2cbe555847f" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 19361671, "digest": "sha256:f7de7971859186e93100b41fbba5513771737ba65f57c62404130646bd41b96b" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 108814795, "digest": "sha256:0041a80e34f1271571619554f6833c06e0ef75d39f152f5fe44ba75bf7e25ae2" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 157895786, "digest": "sha256:ec3cfa9c22f7e6497a0eacf85c86bf8eb5fdec35d096298f9efb43827a393472" } ] } 

升级到新版本的Docker后,问题自行解决。 (Docker版本为1.10.3,版本为20f81dd)标准的yum回购在版本中滞后,因此添加docker repo并获取最新版本的docker:

  sudo yum update 

添加yum回购:

  sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF 

安装docker-engine:

  sudo yum install docker-engine 

启动守护进程:

  sudo service docker start 

添加不安全registry标志(如果privregistry没有证书)

  sudo vi /usr/lib/systemd/system/docker.service 

ExecStart = / usr / bin / docker守护进程–insecure-registry web-docker.bin-repo.hostname.com -H fd://

重新加载守护进程:

  sudo systemctl daemon-reload 

从私人registry中拉:

  sudo docker pull web-docker.bin-repo.hostname.com/web-dev:latest latest: Pulling from web-dev a3ed95caeb02: Pull complete 

对于这个问题,我观察到的是,只要你第二次用相同的SHA推动相同的图像工件,我们将观察这个问题。

为了解决这个问题,我build议给予权限来覆盖/删除artifactory中的mainifest文件。

这一定会解决这个问题。