需求:将jenkins运行在docker中
思路:1、安装docker,并启动docker 服务
2、下载jenkins的docker镜像,然后运行。
前提知识:1、dockder相关知识
2、jenkins相关知识
这两块的知识点,需要进行梳理,在后面应该会提及到。
1、安装docker,我是直接连网利用yum安装的,也可以下载,之后进行安装,比较简单。
具体:yum -y install docker 进行安装,然后启动service docker start,如下图docker已经启动:
2、下载jenkins的docker镜像,当然你也可以自己写dokcerfile进行封装。blueocean是jenkins 2.0之后pipeline比较火之后推出的一个界面,当然在网上也有带有blueocean的jenkins镜像,选择jenkinsci/blueocean,利用docker pull docker.io/jenkinsci/blueocean 下载镜像
查看镜像是否已经下载到本地:docker images,如下图:
运行镜像,指定映射端口,将目录挂在到本地目录/home/jenkins,
启动命令如下:docker run -u root -p 9090:8080 -v /home/jenkins:/var/jenkins_home
具体解读如下:
docker run 通过镜像运行容器。
-u 指定启动用户为root
-p 9090:8080 是将容器的8080端口映射到虚拟机的9090端口,在浏览器访问9090端口就能访问jenkins。
-v /home/jenkins:/var/jenkins_home 是将dokcer里面jenkins的目录/var/jenkins_home挂载到本地/jenkins/home
当然也可以挂载一个数据卷,比如先创建一个数据卷jenkins_date,利用命令dokcer volume create jenkins_data,然后利用-v jenkins_data:/var/jenkins_home挂载到jenkins_data这个数据卷。
具体效果如下图:
a、运行中的容器:
b、访问9090端口可以访问jenkins:
c、查看本地挂载目录和容器内部目录:
进入容器内部的命令:docker exec -it youthful_noyce /bin/bash
d、查看jenkins日志,可在挂载在本地的目录进行查看,也可以通过docker logs +容器名进行查看
到这里,在dokcer上面运行docker已经完成,其他的jenkins配置可以在浏览器中可以进行配置,安装所需要的插件,完成后也可将容器commit一个镜像,以后可直接使用。
命令如下:docker commit -m "mytest" -a "qstudy" c6bfb8768195 jenkins:0.1,便可生成新的docker镜像,以后可以直接使用。