Docker 在 Docker 中,在包含 Jenkins 服务器的 docker 中构建 docker 个代理
Docker in Docker, Building docker agents in a docker contained Jenkins Server
我目前 运行 是 Docker 的 Jenkins。在尝试构建 docker 应用程序时,我对是否应该通过绑定 /var/run/docker.sock 文件或安装另一个文件在 Docker (Dind) 中使用 Docker 存在疑问docker 在我的 Jenkins Docker 中的实例。我以前确实看到过,不鼓励使用 docker.sock.
以外的东西
我真的不明白为什么除了不污染它之外,我们还应该使用来自主机的 docker 守护程序以外的东西。
没有完全理解为什么你需要在 Docker 中使用 Docker - 我怀疑你需要满足一些特殊要求,考虑到你构建实际图像的环境,我可以建议你docker 图像的多级构建?您可能会发现它很有用,因为它使您能够首先构建构建环境,然后构建实际图像(因此得名“multistage-building”)。在这里查看:https://docs.docker.com/develop/develop-images/multistage-build/
"jenkins in docker container needs docker" 情况的最佳解决方案是将您的主机添加为 jenkins 中的节点(从属)。这将使主机中的每个构建步骤(字面上的所有内容)运行。我花了一个月的时间才找到完美的设置。
在 jenkins 容器中挂载 docker 套接字: 您将失去上下文。您要在图像中复制的文件位于 jenkins 容器中的工作区内,并且您的 docker 在主机上 运行ning。 COPY 肯定失败了。
在 jenkins 容器中安装 docker 客户端: 您必须更改官方 jenkins 映像。增加了复杂性。你也会失去上下文。
将您的主机添加为 jenkins 节点: 完美。你有上下文。不改动官方形象
我目前 运行 是 Docker 的 Jenkins。在尝试构建 docker 应用程序时,我对是否应该通过绑定 /var/run/docker.sock 文件或安装另一个文件在 Docker (Dind) 中使用 Docker 存在疑问docker 在我的 Jenkins Docker 中的实例。我以前确实看到过,不鼓励使用 docker.sock.
以外的东西我真的不明白为什么除了不污染它之外,我们还应该使用来自主机的 docker 守护程序以外的东西。
没有完全理解为什么你需要在 Docker 中使用 Docker - 我怀疑你需要满足一些特殊要求,考虑到你构建实际图像的环境,我可以建议你docker 图像的多级构建?您可能会发现它很有用,因为它使您能够首先构建构建环境,然后构建实际图像(因此得名“multistage-building”)。在这里查看:https://docs.docker.com/develop/develop-images/multistage-build/
"jenkins in docker container needs docker" 情况的最佳解决方案是将您的主机添加为 jenkins 中的节点(从属)。这将使主机中的每个构建步骤(字面上的所有内容)运行。我花了一个月的时间才找到完美的设置。
在 jenkins 容器中挂载 docker 套接字: 您将失去上下文。您要在图像中复制的文件位于 jenkins 容器中的工作区内,并且您的 docker 在主机上 运行ning。 COPY 肯定失败了。
在 jenkins 容器中安装 docker 客户端: 您必须更改官方 jenkins 映像。增加了复杂性。你也会失去上下文。
将您的主机添加为 jenkins 节点: 完美。你有上下文。不改动官方形象