【发布时间】:2020-05-07 03:57:18
【问题描述】:
我是 Kubernetes 新手,我正在学习它。 是否存在使用 Kubernetes 来创建 Docker 镜像而不是从存储库中拉取的情况?
【问题讨论】:
标签: docker kubernetes
我是 Kubernetes 新手,我正在学习它。 是否存在使用 Kubernetes 来创建 Docker 镜像而不是从存储库中拉取的情况?
【问题讨论】:
标签: docker kubernetes
Kubernetes 本身不创建镜像。但是可以在kubernetes集群中运行kaniko之类的软件来实现。 Kaniko 是一个在容器或 Kubernetes 集群内从 Dockerfile 构建容器镜像的工具。
kaniko 执行器镜像负责从 Dockerfile 构建镜像并将其推送到注册表。在执行器镜像中,我们提取了基础镜像的文件系统(Dockerfile 中的 FROM 镜像)。然后我们执行 Dockerfile 中的命令,在每个命令之后在用户空间中对文件系统进行快照。在每个命令之后,我们将一层更改的文件附加到基础镜像(如果有的话)并更新镜像元数据
【讨论】:
在 Kubernetes 中创建 docker 镜像有多种选择。
如果您已经熟悉 docker,并且想要一个成熟的项目,您可以使用在 Kubernetes 中运行的 docker CE。在此处查看:https://hub.docker.com/_/docker 并查找 dind 标签 (docker-in-docker)。请记住,这种方法有利有弊,因此请注意理解它们。
Kaniko 似乎有潜力,但目前还没有第 1 版发布。
我一直在使用 docker dind (docker-in-docker) 构建在生产 Kubernetes 集群中运行的 docker 镜像,效果很好。
【讨论】: