[英]Building Docker images with Jenkins that runs inside a Docker container
我正在阅读这篇关于设置Jenkins在Docker容器内运行的文章 ,Jenkins能够以自己的方式构建Docker镜像。 虽然这种解决方案有效,但作者也指出了一些安全问题。
主要的安全问题在于Jenkins需要运行Docker命令,这需要在Jenkins容器内安装Docker套接字(加上Jenkins需要sudo才能运行Docker命令)。 因此,无论谁有权访问Jenkins Web界面,都可以运行任何具有对主机系统的完全访问权限的命令(通过运行docker容器)。
因此,我想知道我是否有人想让这个设置更安全。 没有在Docker容器中运行Jenkins(但是直接在主机系统上)对我来说似乎不太安全,因为Jenkins仍然需要能够执行Docker命令(使用sudo)来构建新映像,而Jenkins用户仍然能够启动任意容器。 使用防火墙可以选择限制可以访问Jenkins的IP,但我希望可能还有其他一些解决方案可以降低安全风险。
编辑我忘了提到Jenkins也应该能够在同一台机器上启动(新创建的)容器。
Docker远程API公开了各种端点来处理创建,列表,检查等图像,请参阅https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/images 。
调用端点https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/create-an-image作为构建步骤可能有助于从Dockerfile构建映像。
我想你是这样的。
您可以在运行图像时安装docker sock。 -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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.