我是Kubernetes的新手,我正在学习它。 在任何情况下都可以使用Kubernetes来创建Docker映像而不是从存储库中提取它吗?
答案 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映像,并获得了良好的结果。