当前,我们的CI / CD环境是基于Kubernetes的云。 由于性能优势,Kubernetes Cloud Providers最近删除了docker deamon。例如,Google Kubernetes Engine或IBM Cloud Kubernetes仅具有容器化运行时,以运行,而不能构建容器映像。
kaniko或jib之类的许多工具可解决此问题。它们提供了一种有效地构建docker映像的方法,而无需docker deamon。
这是问题所在:
因此,需要将图像“ 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”标记,并且都需要推送。
结果:两个注册中心都提供带有发行标签的开发快照图像。
那么,如何在没有docker deamon的情况下执行这3个简单的操作(拉,标签,推)?好像kaniko和jib都不是办法。
我不想订购虚拟机只是为了让docker deamon进行这些操作。我也知道Jib可以推动多个注册管理机构。但是它不能只重命名图像。
还与去年的该问题有关: Clone an image from a docker registry to another
关于莱昂
答案 0 :(得分:2)
Docker Registry提供了HTTP API,因此您可以使用那些方法来拉入和推入图像。
有几个库在其上提供了更高的抽象层(docker-registry-client in Go,docker-registry-client in Js等)。
无论如何,流将是
registry-x.com/repo/app1:v1-snapshot
。