kaniko是一个在容器或Kubernetes内从Dockerfile构建容器镜像的工具。
kaniko不依赖Docker守护进程,完全在用户空间执行Docker文件中的每个命令。这使得在不能轻易或安全地运行Docker守护进程的环境中构建容器镜像,例如标准的Kubernetes集群。
kaniko是要作为一个镜像来运行:gcr.io/kaniko-project/executor
。我们不建议在其他镜像中运行kaniko二进制文件,因为可能无法工作。
kaniko executor(执行器)
镜像负责从 Dockerfile 构建镜像并将其推送到registry
。在执行器镜像中,我们提取了基础镜像的文件系统(Dockerfile 中的 FROM 镜像)。 然后我们执行 Dockerfile 中的命令,在每个命令之后在用户空间中对文件系统进行快照。 在每个命令之后,我们将一层更改的文件附加到基础图像(如果有的话)并更新镜像元数据。
要使用 kaniko 构建和推送镜像,需要: