jenkins - 在 docker (dind) 中共享 docker.sock 或 docker

标签 jenkins docker jenkins-plugins mesos

我们正在运行一个 mesos 集群和 jenkins 以实现持续集成工作流程。 Jenkins 配置了 mesos 插件。

之前我们在 mesos 容器中构建了 docker 镜像。现在我们正在切换到 docker 容器来构建我们的 docker 镜像。

我一直在寻找在 docker 容器中构建我们的 docker 镜像的优势,就像在 docker hub 上找到的这个“dind-jenkins-slave”。

使用 dind 共享主机的 docker.sock 时,您将失去缓存机会。对于 dind,您还必须推送特权参数。

只共享主机的 docker.sock 有什么缺点?

最佳答案

我正在使用共享 docker.sock 方法。我看到的唯一缺点是安全性——当你可以运行任何 docker 容器时,你可以对主机做任何你想做的事情。但是,如果您信任创造工作或可以控制哪些 docker 容器可以从 jenkins 运行哪些选项的人,那么授予对主要 docker 守护进程的访问权限是简单的解决方案。

关于jenkins - 在 docker (dind) 中共享 docker.sock 或 docker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30239011/

相关文章:

python - 无法在 docker 容器内加载动态库 'libcudart.so.11.0'

docker - Docker中的共享内核是什么意思?

docker - docker中的模拟时间(-compose)

amazon-web-services - 如何在 Jenkins 上启动多台 AWS EC2 机器?

windows - 在 win8.1 和 win10 上安装 Jenkins Slave as Service

java - 持续集成 - 数据库更改

docker - Openshift:TLS错误从其自己的注册表中提取Docker镜像

linux - 如何使 "./gradlew"与 "sudo ./gradlew"相同?

java - 运行 Jenkins 构建时获取异常字段 - $jacocoData 异常

Jenkins Build Flow与Workflow(Pipeline)插件