kaniko - 在 Kubernetes 中构建容器镜像


Apache 2.0
跨平台
Google Go

软件简介

通常,标准 Dockerfile 的生成需要与 Docker 后台进程交互访问,也就是需要本机 root 权限。如果是在 Docker
后台进程无法暴露的场景下,生成容器镜像就变得很困难。

kaniko 是 Google 开源的一个工具,旨在帮助开发人员从容器或 Kubernetes 集群内的 Dockerfile 构建容器镜像。

工作原理:

kaniko 作为一个容器镜像运行,它接受三个参数:一个 Dockerfile
,一个构建上下文以及将镜像推送到的注册表。它在执行程序镜像中提取基本镜像的文件系统。然后,在 Dockerfile
中执行任何命令,快照用户空间中的文件系统。Kaniko 在每个命令后都会将一层已更改的文件附加到基本镜像。最后,执行程序将新镜像推送到指定的注册表。

由于 Kaniko 在执行程序镜像的用户空间中完全执行了这些操作,因此它完全避免了在用户计算机上需要任何特权访问。