Docker тянет «неожиданный EOF» - PullRequest
0 голосов
/ 08 декабря 2018

Я столкнулся с проблемой с докером.Сценарий такой: мы используем Codebuild + Packer + docker для создания AMI, который используется при развертывании.На этом этапе мы извлекаем изображение из артефакта, и все проходит нормально, за исключением вытягивания одного из слоев, который> 1 Гб.После нескольких повторных попыток происходит сбой с ошибкой: загрузка не удалась, повторная попытка: неизвестный BLOB-объект и затем «неожиданный EOF».Вы когда-нибудь сталкивались с такой проблемой?Любые комментарии или советы высоко ценятся.

1 Ответ

0 голосов
/ 04 июня 2019

У меня была эта проблема с очень маленьким слоем, который был поврежден или сломан в реестре V2 по неизвестной причине.docker pull не удалось с «неожиданным EOF» после повторной попытки слоя (в данном случае идентифицируемого как «1f8fd317c5a4»).

Восстановление изображения из источника и попытка docker push сказал, что «слой уже существует», не исправляяпроблема.

Мне удалось удалить нарушающий слой, используя curl примерно так;

curl -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' -sk "https://registry.local/v2/image-name/manifests/1033-develop-7e414712"

(замените ваш реестр на «registry.local»,имя вашего изображения для «image-name» и ваш тег изображения или «последний» для «1033-develop-7e414712».)

Получите полный дайджест sha256 для слоя 1f8fd317c5a4 из вывода JSON и используйте егов следующей команде:

curl -k -X DELETE "https://registry.local/v2/image-name/blobs/sha256:1f8fd317c5a406a75130dacddc02bd09a9abf44e068e2730dd8f5238666bb390"

Теперь вы сможете docker push registry.local/image-name:1033-develop-7e414712 загрузить слой, который вы удалили, и все работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...