-
Notifications
You must be signed in to change notification settings - Fork 18
keepwork docker how it works
DreamAndDead edited this page Aug 17, 2017
·
2 revisions
一些在搭建过程中,分享的技术细节
在整个流程的建设理念中,有一个重要的就是,所有的服务都运行在容器里,每个窗口运行一个服务。
如果jenkins运行在docker中,jenkins job又需要操作容器,就变成了docker in docker的嵌套模式。这种方式是不被推荐的,因为docker在那样的模式下很容易出现问题。
请阅读这里!!!!
解决docker in
docker的问题,就是将/var/lib/docker.sock
映射到docker容器内。所有在容器内进行的docker操作,全部传输到宿主机的daemon来处理。感觉像是docker
in docker,实际运行模式为docker beside docker。
jenkins社区维护了jenkins相关的镜像
两者的启动都很简单,文档描述的很清楚,问题在于,两者之间如何连接
官方文档记录有两种方式
- ssh连接,这种方式是master主动去连接slave
- jnlp,master开放50000端口,让slave来发现,并进行连接通讯
ssh自己没有尝试成功,jnlp反而非常轻松。相比之下,jnlp的跨平台支持更佳。
开启docker registry服务是简单的,只需要下载registry的镜像并启动就可以了
因为registry部署在没有域名的机器上,如果使用http或者--insecure-registry,没有任何认证,就过于危险。相当于直接暴露在攻击者面前。
如果在单纯域名下,使用https进行加密传输,官方文档提供了一种证书自认证的方式
在按照这个流程走之前,注意到我们直接使用IP,生成的crt会有问题,参考这里
在部署脚本中,已经做了充分的说明,registry生成密钥