【问题标题】:How to use docker inside jenkins pipeline without using docker-in-docker如何在不使用 docker-in-docker 的情况下在 jenkins 管道中使用 docker
【发布时间】:2020-08-01 08:51:04
【问题描述】:

docker-in-docker 的作者在此博客中建议不要将此图像用于 CI 目的: jpetazzo/Using Docker-in-Docker for your CI or testing environment? Think twice

为什么 Jenkins 在以下链接中使用 Jenkins 用户手册(安装部分)中的 docker-in-docker: Installing Jenkins(you can see it in step 4)

他们为什么不直接使用卷来使用 docker daemon,如下所示:

--volume /var/run/docker.sock:/var/run/docker.sock

使用 docker-in-docker 有什么具体原因吗?

如果您同意应该在不使用 docker-in-docker 的情况下完成,请告诉我如何这样做,实际上我已经尝试过但没有运气,我在这里遇到了另一个问题:@ 987654323@

【问题讨论】:

  • 仅仅因为你可以做某事,并不意味着你一定应该这样做。此外,供应商经常在他们的销售/营销部门和他们的工程/建筑师部门之间存在脱节。我有各种各样的故事。
  • 你100%确定吗?我不知道,但也许这个决定背后有一个原因,让我们听听别人的想法。我已经尝试使用音量来做到这一点,但没有成功,我刚刚问了另一个问题,以另一种方式做到这一点:stackoverflow.com/questions/63075375/…@MattSchuchard
  • @tashkhisi,我也试着自己听从 David Maze 的建议,因为我坚信他是对的 - 第一次尝试没有工作,当我有更多时间时,我会更加努力。我个人使用我在另一篇文章中为自己建议的配置,在家中我不太关心文件被损坏,因此我经常清除所有内容。 PS:好问题
  • 宣传您可以在 Docker 内部、在云上、在无服务器等上执行某些东西,无论在架构上是否有意义,这是供应商的销售和营销部门用来吸引高层管理人员的一种策略.这些是有吸引力的流行语,听起来很吸引人,但对他们来说却是陌生的。我绝对相信这就是这里发生的事情,因为我看到这种情况一直在发生。此外,David Maze 反对它是一个很好的迹象,表明不要这样做。我和他在同一个圈子里跑,足以在 Docker/k8s 上完全信任他。
  • @MattSchuchard 谢谢你的回答,但你能在这里提供另一种方法吗? David Maze 建议改用音量,但是当我尝试这样做时,我遇到了另一个问题,我在这里问了这个问题:stackoverflow.com/questions/63075375/…

标签: docker jenkins continuous-integration docker-in-docker


【解决方案1】:

@tashkhisi - 正如https://stackoverflow.com/a/63200614/8723275 中已经提到的,这取决于您尝试使用的 Jenkins 映像。 如果您将使用 jenkinsci/bleocean - 它已经在管道中安装了 docker,但您只能靠自己了。如果您更喜欢使用 jenkins/jenkins 图片 - 您可以在 following discussion 中找到答案。一种可能的解决方案是构建您自己的 Jenkins 映像并在映像中动态安装所有需要的插件。

【讨论】:

  • 第二个链接失效了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 2014-08-20
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2019-07-29
相关资源
最近更新 更多