В настоящее время наша среда CI / CD является облачной, базирующейся в Кубернетесе.Облачные провайдеры Kubernetes недавно удалили Docker из-за преимуществ в производительности.Например, Google Kubernetes Engine или IBM Cloud Kubernetes имеют только среду выполнения Containerd для run , но не build образов контейнера.
Многие инструменты, такие как kaniko или клив исправьте этот пробел.Они предоставляют способ очень эффективно создавать образы докеров, не требуя демона докера.
Вот проблема:
- Image "registry-x.com/repo / app1: v1-snapshot "получает сборку от Jib в CI до Registry-X.
- Образ" 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 способен выдвигать несколько реестров.Но он не может просто переименовать изображения.
Относится также к этому Вопросу с прошлого года: Клонировать изображение из реестра докеров в другой
С уважением, Леон