Как вытащить из реестра Docker только при необходимости, или что вообще означает слово "последний"?

Я использую Gitlab-CI для создания некоторых образов Docker в образе Docker-in-Docker. Это важно только потому, что в каждой сборке используется новая среда docker-in-docker с пустым кешем Docker. Можно кэшировать кеш в Gitlab и восстановить его позже, но это не кажется безопасным - кто-то в Интернете сделал это - но это не кажется безопасным.

У меня есть реестр Docker в Nexus, который я успешно использовал для вытягивания и толкания.

Я также настроил сохранение изображений в кеш Gitlab-ci с помощью docker save и загрузка из кеша с docker load,

После извлечения из реестра или загрузки из кеша Gitlab-CI я могу запустить docker build --cache-from ... и Docker будет строить постепенно, не восстанавливая никаких слоев изображений, которые не изменились.

Все встроенные изображения получают latest тег.

Часть, которая не работает, такова: если я загружаю изображение из кэша Gitlab-CI, а затем извлекаю из реестра, изображение из реестра всегда используется в качестве точки зрения докера, даже если это недели старше загруженного из кеша. Это похоже на неполноценное поведение - мягко говоря, оно крайне неожиданное и недокументированное, насколько я могу судить.

Как я могу сказать Docker: 1) использовать более позднюю версию как последнюю (альтернативы без latest теги возможны), и 2) загружать только слои, которые изменились с тех пор, что было загружено в кэш Docker?

Это 2 вопроса, но я надеюсь, что у них одинаковый ответ.

1 ответ

Хорошо, если вы имеете в виду yourimage:latest, latest ничего не значит, потому что это всего лишь соглашение, а не гарантия того, что вы действительно тянете буквально новейший (новейший) образ.

Если вы загружаете изображение yourimage:latest из локального и потом вы вытаскиваете одноименный образ из реестра (yourimage:latest) последний будет своевременным latest, Потому что он отличается от первого, даже если первый будет более новым. Если у него есть другой отпечаток, он будет перезаписан.

Другие вопросы по тегам