背景
在使用Jenkins时,都是直接部署到主机里面Tomcat,方便管理及使用;Jenkins执行docker build等命令较方便,最近一直都在把平台和工具迁移到docker里面,也想把Jenkins直接迁移到Docker上。
测试环境
宿主机操作系统:Ubuntu 16.04.2 LTS
Docker version 17.03.0-ce, build 60ccb22
Jenkins Docker Image:jenkins:latest
Jenkins迁移到 Docker
- Docker hub加速器
阿里云加速器
如果你没有专属加速连接,请联系本人 - 直接下载Docker Jenkins官方Image
docker pull jenkins:latest
- Docker run
docker run -d --name jenkins \
--restart=always -u root \
-p 80:8080 -p 5000:5000 \
-v /usr/lib/docker:/usr/lib/docker \
-v /home/azureuser/jenkins-alpine:/var/jenkins_home \
-v /lib/systemd/system:/lib/systemd/system \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /etc/docker:/etc/docker \
jenkins:latest
- Docker containers 执行docker
- Jenkins job 执行docker build
遇到的坑
- 本人使用Docker version 17.03.0-ce,ubuntu下需要安装libltdl7_2.4.6-0.1_amd64.deb,安装命令:
dpkg -i libltdl7_2.4.6-0.1_amd64.deb
- docker hub 加速器
ubuntu 16.04修改方式:
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --registry-mirror=https://n9h3vi0d.mirror.aliyuncs.com
重启docker daemon
systemctl daemon-reload
systemctl restart docker
特别说明
Jenkins docker image基础image操作系统ubuntu和宿主机保持一次,开始本人使用jenkins:alpine版本,宿主机是ubuntu,没有成功。宿主机其他版本linux未测试。