- Shipped
- 5 сентября 2026 г. в 00:09 UTC
- Author
- Kamo
- Commit
- 3987644
ROOT CAUSE, для следующего человека, который видит «короткое чтение: ожидаемые N байтов, но получил 0: неожиданный EOF». Реестр запускает storage.cache.blobdescriptor: inmemory. Блобы были удалены из его файловая система **************** включен, но кэш дескриптора в памяти все еще хранится Они — так: Голова **************** -> 200 (обслуживается из кэша) GET same -> 200 с нулевыми байтами (без данных на диске) Таким образом, докер-толчок пропускал эти слои как уже существующие и PUT только манифест (наблюдается: Один 201 для манифеста, а не одна капля PATCH/POST в целом. Изображение было Опубликованы ссылки на восемь слоев, которых в реестре не было, и каждый рывок погиб на первом из них. Они. Восстановление никогда не могло исправить это — каждая перестройка производила одни и те же дайджесты и пропускала одни и те же. Слои, из-за чего три последовательные сборки провалились одинаково. Удаление висячих ссылок репо также не помогло, потому что ложь была в кэше. Не в ссылках. Исправлено путем перезапуска реестра, который очищает кэш: эти капли HEAD теперь правильно 404, так что Этот толчок загружает слои, а не пропускает их. Стоит знать: одно и то же состояние застойного кеша может повлиять на любой РЕПО, чьи капли были удалены, и это Представляет собой непривлекательный образ, который восстановление не может исправить.