在Docker容器中运行的Jenkins构buildDocker镜像

我正在阅读这篇关于设置Jenkins在Docker容器中运行的文章 ,Jenkins能够自己构buildDocker镜像。 虽然这个解决scheme有效,但作者也指出了一些安全问题。

主要的安全问题在于Jenkins需要运行Docker命令,这需要在Jenkins容器内部加载一个Docker套接字(加上Jenkins需要sudo才能运行Docker命令)。 因此,任何访问Jenkins Web界面的人都可以运行任何命令(通过运行Docker容器)来完全访问主机系统。

因此,我想知道如果我有人有一些想法,使这个设置更安全。 由于Jenkins仍然需要能够执行Docker命令(使用sudo)来创build新映像,使Jenkins用户仍然能够启动,所以在Docker容器(但直接在主机系统上)中运行Jenkins似乎并不安全任何任意容器。 使用防火墙可以限制Jenkins可以访问的IP地址,但是我希望可以采用其他一些解决scheme来降低安全风险。

编辑我忘了提Jenkins也应该能够在同一台机器上启动(新创build的)容器。

我想你是这样的。

您可以在运行图像的同时安装Docker袜子。 -v /var/run/docker.sock:/var/run/docker.sock -v $(docker):/ usr / bin / docker,你可以访问jenkins容器中的docker。

请按照下面的链接http://container-solutions.com/running-docker-in-jenkins-in-docker/