【问题标题】:Can Kubernetes ever create a Docker image?Kubernetes 可以创建 Docker 镜像吗?
【发布时间】:2020-05-07 03:57:18
【问题描述】:

我是 Kubernetes 新手,我正在学习它。 是否存在使用 Kubernetes 来创建 Docker 镜像而不是从存储库中拉取的情况?

【问题讨论】:

    标签: docker kubernetes


    【解决方案1】:

    Kubernetes 本身不创建镜像。但是可以在kubernetes集群中运行kaniko之类的软件来实现。 Kaniko 是一个在容器或 Kubernetes 集群内从 Dockerfile 构建容器镜像的工具。

    kaniko 执行器镜像负责从 Dockerfile 构建镜像并将其推送到注册表。在执行器镜像中,我们提取了基础镜像的文件系统(Dockerfile 中的 FROM 镜像)。然后我们执行 Dockerfile 中的命令,在每个命令之后在用户空间中对文件系统进行快照。在每个命令之后,我们将一层更改的文件附加到基础镜像(如果有的话)并更新镜像元数据

    【讨论】:

      【解决方案2】:

      在 Kubernetes 中创建 docker 镜像有多种选择。

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

      Kaniko 似乎有潜力,但目前还没有第 1 版发布。

      我一直在使用 docker dind (docker-in-docker) 构建在生产 Kubernetes 集群中运行的 docker 镜像,效果很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-26
        • 2018-05-12
        • 2021-11-09
        • 2018-12-03
        • 2019-08-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多