系统环境:CentOS Linux release 7.3.1611 x86_64 GNU/Linux
Docker C/S Version: 1.13.1
配置Docker服务开启远程访问
在作为docker远程服务的centos7机器中,修改docker.service配置:
修改docker.service,增加 -H 参数,详见截图 此处默认2375为主管理端口,7654是备用端口# vim /usr/lib/systemd/system/docker.service将管理地址写入/etc/profile# echo 'export DOCKER_HOST=tcp://0.0.0.0:2375' >> /etc/profile# source /etc/profileDocker重新读取配置文件,然后重启# systemctl daemon-reload# systemctl restart docker验证是否开启成功# ps -ef | grep docker # docker -H tcp://IP:2375 images
Jenkins 配置Docker Cloud
Jenkins首先安装插件Docker plugin 后重启;
进入Jenkins->系统管理->系统配置,页面拉到最下面,添加一个Docker云:
image
配置Docker Host URI,并点击Test Connection进行测试:
配置 Docker Agent template ,其中的Docker image: jenkins/ssh-slave是 Docker plugin推荐的,用户完全可以自定义,相关介绍详见插件官方说明。
Job 运行测试
新建一个自由风格的Job,在General中配置限制Job运行的节点为 Docker Agent template中的Lebels, 在 Build中增加几个用于测试的简单shell命令后,保存项目配置。
点击运行Job,可以看到 Build Executor Status中,自动多了一个Docker Slave节点,在项目构建历史中可以清楚的看到当前构建正在等待容器启动:
image
image
只需要等待容器启动完成后,即可自动执行之前设置的测试命令,运行完后会自动回收容器(完全删除),如下:
image
作者:Rethink
链接:https://www.jianshu.com/p/b0cdcb706663