Вытащить, пометить и протолкнуть изображение из реестра Y в реестр X - PullRequest
0 голосов
/ 27 февраля 2019

В настоящее время наша среда CI / CD является облачной, базирующейся в Кубернетесе.Облачные провайдеры Kubernetes недавно удалили Docker из-за преимуществ в производительности.Например, Google Kubernetes Engine или IBM Cloud Kubernetes имеют только среду выполнения Containerd для run , но не build образов контейнера.

Многие инструменты, такие как kaniko или клив исправьте этот пробел.Они предоставляют способ очень эффективно создавать образы докеров, не требуя демона докера.

Вот проблема:

  1. Image "registry-x.com/repo / app1: v1-snapshot "получает сборку от Jib в CI до Registry-X.
  2. Образ" registry-x.com/repo/app1:v1-snapshot "затем в определенный момент времени развертывается ипротестирован и должен быть доставлен в реестр Y, если тест пройден успешно, а также должен быть помечен как стабильный выпуск в реестре X.

So Image "registry-x.com/repo/app1: v1-snapshot "должен быть помечен с" registry-x.com/repo/app1:v1-snapshot "на" registry-x.com/web/app1:v1-release ", а затем дополнительно должен быть помечен«registry-y.com/web/app1:v1-release» и оба должны быть отправлены.

Результат: Снимок снимка с разработки доступен в обоих реестрах с тегом выпуска.

Так как сделать эти простые 3 операции (Pull, Tag, Push) без Docker Deamon?Похоже, Канико и Джиб не способ.

Я не хочу заказывать ВМ только для того, чтобы заставить докера выполнить эти операции.И я также знаю, что Jib способен выдвигать несколько реестров.Но он не может просто переименовать изображения.

Относится также к этому Вопросу с прошлого года: Клонировать изображение из реестра докеров в другой

С уважением, Леон

1 Ответ

0 голосов
/ 28 февраля 2019

Docker Registry предоставляет HTTP API , так что вы можете использовать эти методы для извлечения и переноса изображений.

Есть несколько библиотек, обеспечивающих более высокий уровень абстракции ( docker-registry-client в Go , docker-registry-client в Js и т. Д.).

В любом случае поток будет

...