学习一下kaniko

学习一下kaniko

kaniko是什么

首先,他是一个docker镜像,源代码在 github

镜像地址在这里

gcr.io/kaniko-project/executor

与通常的docker镜像比,他主要用于打包和推送docker镜像。。。。。。 什么意思呢,大概就是

1
2
3
4

docker build xxxxxx

docker push xxxxxx

当然,与传统的bash命令的用法还是有一些不一样的

使用

好吧,我还基本不怎么会,只会抄了官方的例子

以下,抄自gitlab

1
2
3
4

echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json

/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG

意思也很简单:

第一句将gitlab的镜像仓库授权文件写入指定位置 /kaniko/.docker/config.json

第二句,执行。。。

几个参数也很熟悉

context 上下文,一般就是项目根目录,所以docker-compose.yml中,一般写 .

dockerfile 这个就不说了

destination 仓库地址

连就来就是,build Dockerfile 并 push 到 指定地址

问题来了

destination能不能多个地址

查了一下资料,貌似不可以

能不能将已有的远程仓库pull下来,然后push 到另一个仓库达到同步的效果

这个问题还没有查

总之

目前,只是会最简单的用用,还有很多地方需要学习

0%