LINUX.ORG.RU
решено ФорумAdmin

docker не берет последний образ из локального registry

 ,


0

1

Уже сталкивался раньше, как-то нормализовалось, но теперь опять возникла. Если кто-то сталкивался с похожим, подскажите.

Докер используется для gitlab CI. Есть локальный docker registry, образы в него обычно загружаются с 2-3 рабочих станций. И в какой-то момент так получается, что многие из gitlab-runner-ов скачивают не самый последний загруженный в реестр образ. А некоторые - таки последний. Вылечить это у меня получилось только если руками залезать на хосты с gitlab-runner-ам пулить принудительно требуемый образ. После это все опять работает, а новые версии начинают подкачиваться автоматом при запуске CI.

Что-то тупка, не понимаю.

Deleted

Ответ на: комментарий от Deleted

Мне кажется, что ты что-то делаешь не так. Ты не даешь теги образам что-ли? В чем проблема скачивать всегда назначенный latest, или назначенную версию в теге?

stave ★★★★★
()
Ответ на: комментарий от stave

latest

Именно его и качаю. Почти все раннеры качают правильную версию, а парочка - берет старую. Если руками на раннере сделать docker pull ....latest , все нормализуется. Но это происходит довольно часто

Так как список того, что в регистре, вывести? :) Я уже понял, что это не так просто....

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от deadNightTiger

В этом тоже может быть проблема. Наткнулся и на 1.6. Но конкретно он работает. Надо это все привести к одному, конечно. Нескончаемо бесит прыжки в нумерации. сейчас актуальная версия 11...

Deleted
()

Короче саммари такое:

В gitlab-ci написано:

job1:
  image: myregistry/image:latest
script:
  ....

Все работает, обычно после появления в myregistry обновленного образа, подкачивается нужный.

Но иногда НЕТ. Один раннер внезапно перестает подкачивать обновленный latest. ОСТАЛЬНЫЕ работают корректно!

Я меняю на конкретное значение 123123123=latest

job1:
  image: myregistry/image:123123123
script:
  ....

и после этого, тот же самый раннер скачивает нужный образ. Кто бы сомневался

Ну и когда я возвращаю 'latest' , все продолжает работать - при обновлении registry, используется действительно новый latest.

Вся суть docker-технологий

Действия, которые приводят к «иногда НЕТ», пока не ясны. Т.к. баг не воспроизводится, но появляется

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от Deleted

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

Difrex ★★★★
()

Словил еще и этот баг, с невозможностью pull. https://gitlab.com/gitlab-org/gitlab-runner/issues/2408 Вроде, в runner v11.1.0-rc2 починили.

И сабжевая проблема ушла, но тут я не знаю точно, в чем была причина. Я развернул registry заново, добавив туда только нужные образы, старый снес. Это видимо самый быстрый способ чистки реестра, лол. Звучит то как!

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.