egg*_*y84 2 jenkins google-cloud-platform kubernetes
是否有推荐的方法从加载到 Kubernetes 的容器中启动“docker build”命令?
IE。启动一个 Jenkins 容器(来自社区镜像),然后确保 docker 安装在该容器中,以便您可以发出“docker build”命令。
我已经阅读了各种方法,例如 DIND(Docker 中的 Docker)容器以及在 Jenkins 容器和 DIND 容器之间运行链接。当然,对于 Kubernetes,情况会有所不同。
小智 6
有两种方法可以从 Kubernetes Pod 访问 docker 守护进程。
您可以在容器内公开主机上运行的 docker 守护进程(这是 kubernetes 用来启动容器的 docker 守护进程)。为此,您需要修改 Pod 规范以添加 docker 守护进程套接字的主机路径(通常为/var/run/docker.sock)。现在,您可以在容器内安装 docker 并访问主机的 docker 守护进程。
第二种方法是使用 Docker-in-Docker (DinD)。在这种方法中,您可以使用sidecar 容器的概念在 docker daemon 中运行 docker。Pod 中的主容器必须配置为与 sidecar 容器中的 docker 守护进程通信。您可以通过将环境变量设置DOCKER_HOST为tcp://localhost:2375. 您可以在我关于 Kubernetes 上的 DinD 的博客文章中找到完整的 Pod 规范以及关于两种方法之间差异的更多详细信息
| 归档时间: |
|
| 查看次数: |
4694 次 |
| 最近记录: |