вытащить докер не удалось. манифест недействителен: манифест недействителен - артефактный

Docker 1.9.1 pull на centos7 не работает при извлечении из частного реестра V2.

$ 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

Эта же команда отлично работает на osx с докером 1.10.3. Может ли кто-нибудь сказать мне, почему это не работает и как устранить неполадки дальше?

обновление: вот манифест, который он пытается получить. Он может извлекать манифесты 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"
      }
   ]
}

person buildmaestro    schedule 08.04.2016    source источник


Ответы (2)


Что касается этой проблемы, я заметил, что всякий раз, когда вы отправляете один и тот же артефакт изображения во второй раз с одним и тем же SHA, мы будем наблюдать эту проблему.

Чтобы решить эту проблему, я бы порекомендовал дать разрешение на переопределение/удаление файла mainifest в артефакте.

Это определенно решит эту проблему.

person Abhijeet Kamble    schedule 09.06.2017

Проблема решилась сама собой после обновления до новой версии Docker. (версия Docker 1.10.3, сборка 20f81dd) Стандартный репозиторий yum отстает в версиях, поэтому добавьте репозиторий docker и получите последнюю версию 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

Устанавливаем докер-движок:

 sudo yum install docker-engine

Запустите демон:

 sudo service docker start

Добавьте флаг небезопасного реестра (если в реестре priv нет сертификата)

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

ExecStart=/usr/bin/docker daemon --insecure-registry web-docker.bin-repo.hostname.com -H fd://

Перезагрузите демон:

 sudo systemctl daemon-reload

Вытащите из частного реестра:

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

  a3ed95caeb02: Pull complete
person buildmaestro    schedule 08.04.2016