Building an Image from a Dockerfile:用户提供一个Dockerfile,Kaniko实行器镜像将根据这个Dockerfile来构建一个新的镜像。Dockerfile包含了一系列的指令,这些指令界说了如何构建一个新Docker镜像,比方FROM, RUN, COPY, ADD等。
Extracting the Filesystem of the Base Image:在Dockerfile中,FROM 指令指定了根本镜像,Kaniko 首先需要提取这个根本镜像的文件体系。这个文件体系被复制到 Kaniko 实行器镜像的临时目录中,以便后续的构建过程可以在用户空间中对其举行操作。
Executing Commands in the Dockerfile:Kaniko逐个实行Dockerfile中的指令。对于每个指令,Kaniko都会在用户空间中模仿该指令的效果。比方,假如指令是RUN apt-get update,Kaniko会在容器内部实行这个命令,就像在普通的Docker构建过程中一样。
Snapshotting the Filesystem in Userspace:在每个指令实行之后,Kaniko 会在用户空间中对文件体系举行快照。这个快照捕获了自上一个快照以来文件体系的全部变化,这些变化包括新创建的文件、修改过的文件和删除的文件。
Appending a Layer of Changed Files:假如在实行某个指令后文件体系发生了变化,Kaniko 会将这些变化作为一个新层添加到根本镜像上。这个过程是逐层举行的,每个指令可能对应一个或多个层,这取决于文件体系的变化。