Docker 搭建 Jenkins 容器

Docker 搭建 Jenkins 容器

一、查询Jenkins镜像


docker search jenkins

Docker 搭建 Jenkins 容器_第1张图片

二、下载镜像

这里使用的是红框内镜像(因为这个镜像的docker版本较高) 


docker pull jenkins/jenkins

Docker 搭建 Jenkins 容器_第2张图片

三、查看镜像


docker images

ab38e7bb95484c738607c442da6ba408.png

四、启动Jenkins容器 

 在宿主机中创建/home/jenkins_home文件夹,并且进行文件权限授予,用来挂载Jenkins容器的文件夹。

1.创建文件夹


mkdir -p /home/jenkins_home

-p  --------------逐级创建

2.设置权限

设置/home/jenkins_home文件夹的读写权限


chmod 777 /home/jenkins_home

4c6ecdc7ab3048f6834eb566f54ca4e7.png

3.启动容器

docker run -d -u root -p 10000:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /etc/localtime:/etc/localtime jenkins/jenkins
命令 描述
-d -d后台运行
-u root 使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误
-p 10000:8080 将容器内8080端口映射至宿主机10000端口,这个是访问jenkins的端口
-p 50000:50000 将容器内50000端口映射至宿主机50000端口
--name jenkins --name jenkins设置容器名称为jenkins
-v /home/jenkins_home:/var/jenkins_home  :/var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录
-v /usr/bin/docker:/usr/bin/docker 将宿主机的/usr/bin/docker挂载到jenkins容器
-v /var/run/docker.sock:/var/run/docker.sock 将宿主机的/var/run/docker.sock挂载到jenkins容器
-v /etc/localtime:/etc/localtime 让容器使用和服务器同样的时间设置
jenkins/jenkins

镜像的名称,这里也可以写镜像ID

0a6b8b8c228349b6b9bdb0f494c59f52.png

docker的运行包括以下三部分:

1.docker-cli    -------docker客户端

2.docker.sock   --------docker中间件

3.docker-server   ---------docker服务器

查看docker在宿主机的位置

which docker

docker在宿主机的位置:/usr/bin/docker

查看docker.sock在宿主机的位置

ls /var/run/docker.sock

docker.sock在宿主机的位置:/var/run/docker.sock

使用docker的话,只需要docker-cli和docker.sock即可。如果要在jenkins容器内部使用宿主机的docker,只需要将宿主机中的/usr/bin/docker和/var/run/docker.sock挂载到jenkins容器即可。

进入jenkins容器内部

docker exec -it jenkins bash

验证执行docker 命令

docker ps -a
docker --help

退出jenkins容器

exit

在jenkins中执行docker有以下三种方式:

1.jenkins中安装docker客户端,使用第三方的docker,需要付费。

2.jenkins中安装docker客户端,另一个容器安装docker服务。docker-in-docker,需要特权模式,或者第三方工具。

3.jenkins中什么都不装,直接使用宿主机的docker服务。

以上介绍的,在jenkins容器中使用docker服务,就是基于第三种方式实现的。

优点:简单、方便、直观

缺点:jenkins可以全权管理所有的容器(包括jenkins自身),有隐含的安全风险。

五、日志查看


docker logs jenkins

Docker 搭建 Jenkins 容器_第3张图片

六、查看容器

docker ps -a

1ae221aca4494ed69854ebf3ed01aeb9.png


 七、启动容器

docker start 9f8d

9f8d  ----------- 容器ID

81342aa6ce2d470f88f101d2cd05e468.png

重启jenkins 

docker restart jenkins

八、访问Jenkins 

在浏览器中输入:http://serverIp:port/访问jenkins,serverIp为docker宿主机的ip,port即为宿主机映射的端口。在访问对应Jenkins地址时,要确保访问的端口号已开启。我的即为:http://192.168.16.138:10000/

Docker 搭建 Jenkins 容器_第4张图片

Docker 搭建 Jenkins 容器_第5张图片

  这里要求输入初始的管理员密码,根据提示密码在/var/jenkins_home/secrets/initialAdminPassword这个文件中,注意这个路径是Docker容器中的,所以我们通过如下命令获取一下

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

6c8f2f652a51414ebf66f5b1952a4b29.png

 九、安装插件

Docker 搭建 Jenkins 容器_第6张图片

Docker 搭建 Jenkins 容器_第7张图片

因为网络原因,需要将插件源设置为国内的,这样才可以安装插件。进入宿主机目录 /home/jenkins_home/,编辑文件 hudson.model.UpdateCenter.xml 

1.进入宿主机目录 /home/jenkins_home/


cd /home/jenkins_home/

2.查看 hudson.model.UpdateCenter.xml 


cat hudson.model.UpdateCenter.xml 

Docker 搭建 Jenkins 容器_第8张图片

 3.编辑 hudson.model.UpdateCenter.xml 

vim hudson.model.UpdateCenter.xml

9eed1f3853124bd89dae05d2b8fc6965.png

Docker 搭建 Jenkins 容器_第9张图片

 输入E,进入编辑模式,将 url 内容修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学官方镜像) 

Docker 搭建 Jenkins 容器_第10张图片

Docker 搭建 Jenkins 容器_第11张图片

修改完成后,按ESC键,退出编辑模式,再输入: wq,强制保存并退出

 Docker 搭建 Jenkins 容器_第12张图片

 0ff8bbbb461b4c809ac4559843072191.png

4. 重启容器 

docker restart jenkins

 重启之后,选择推荐插件安装

Docker 搭建 Jenkins 容器_第13张图片

Docker 搭建 Jenkins 容器_第14张图片

Docker 搭建 Jenkins 容器_第15张图片

5. 插件安装完成,创建管理员用户 

Docker 搭建 Jenkins 容器_第16张图片

Docker 搭建 Jenkins 容器_第17张图片

Docker 搭建 Jenkins 容器_第18张图片  Docker 搭建 Jenkins 容器_第19张图片

  Docker 搭建 Jenkins 容器_第20张图片

总结

 至此,Jenkins安装完成!!!

你可能感兴趣的:(docker,centos,jenkins,docker,jenkins,容器,运维)