我在docker上运行官方的Jenkins容器。我需要构建docker镜像作为成功构建的后 Action ,但是Jenkins容器没有docker二进制文件。
我看到几个选择,首先是从官方镜像派生我自己的Jenkins容器,并使用docker binary。第二种选择是将专用的Jenkins从站与docker和其他必要的运行时一起使用。第三种选择是为Jenkins服务器配置ansible。我想在容器上运行所有内容,因为它是干净,简单且易于重复的。
您如何解决这个问题?从长远来看,哪种方法更好?为什么?我的最高优先级是能够使用单个ansible命令配置,配置和引导整个CI基础结构。此外,已构建的docker容器将被推送到注册表等,因此组件之间的连接性应该以最小的复杂性或手动配置为最佳。
最佳答案
在容器中安装docker不是一个好主意。
related article
但是,您可以通过安装docker socket来访问在主机上运行的docker守护进程。
它应该可以很好地用于测试目的,但是在生产模式下不要这样运行,因为它会带来安全问题。
related article
您当然可以找到一个更清洁的解决方案,直接从您的主机观察Jenkins容器的退出状态来管理您的部署/构建过程。
关于jenkins - docker在官方的 Jenkins 容器中构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40531850/