Kubernetes可以创建Docker映像吗?

时间:2020-05-06 09:07:50

标签: docker kubernetes

我是Kubernetes的新手,我正在学习它。 在任何情况下都可以使用Kubernetes来创建Docker映像而不是从存储库中提取它吗?

2 个答案:

答案 0 :(得分:5)

Kubernetes本身不会创建映像。但是您可以在kubernetes集群中运行诸如kaniko之类的软件来实现它。 Kaniko是在容器或Kubernetes集群内部从Dockerfile构建容器映像的工具。

kaniko执行程序映像负责从Dockerfile构建映像并将其推送到注册表。在执行程序映像中,我们提取基本映像的文件系统(Dockerfile中的FROM映像)。然后,我们在Dockerfile中执行命令,在每次执行后在用户空间中快照文件系统。在执行每个命令之后,我们将更改后的文件层添加到基本图像(如果有)并更新图像元数据

答案 1 :(得分:4)

存在多个用于在Kubernetes中创建Docker映像的选项。

如果您已经熟悉docker并想要一个成熟的项目,则可以使用在Kubernetes中运行的docker CE。检查此处:https://hub.docker.com/_/docker并查找dind标签(docker-in-docker)。请记住,此方法有利有弊,因此请务必了解它们。

Kaniko似乎有潜力,但尚未发布版本1。

我一直在使用docker dind(docker-in-docker)构建在生产Kubernetes集群中运行的docker映像,并获得了良好的结果。