通过Docker搭建jenkins

简单介绍一下通过docker的方式来安装jenkins.

下载jenkins最新镜像:

docker pull jenkins/jenkins:lts;

启动jenkins:

mkdir /root/jenkins_home docker run -itd --name jenkins -p 8888:8080 -p 50000:50000 --privileged=true  -v /root/jenkins_home:/var/jenkins_home jenkins/jenkins:lts

进入容器里面:

docker exec -it jenkins  bash

Docker方式安装的Jenkins如何升级

# 把文件拷贝到容易里面的某个目录docker cp /var/jenkins_home/workspace/jenkins.war [CONTAINER ID]:/var/jenkins_home/# 以root用户进入容器里面docker exec -it -u root [CONTAINER ID] bash# 备份原来的war包 ,然后覆盖war包cp /usr/share/jenkins/jenkins.war /usr/share/jenkins/jenkinsBAK.warcp /var/jenkins_home/jenkins.war  /usr/share/jenkins# 然后重新启动一下jenkins,或者把容器重新docker restart jenkins 

启动jenkins之后,相关的配置操作等,可以看之前写的文章:

Jenkins介绍及环境搭建和目录结构介绍

Jenkins之系统管理下的各配置选项介绍

Jenkins教程之java代码编译、打包、代码扫描

踩过的坑:

1、容器运行后,通过docker ps 查看不到进程,通过docker ps -a 可以查看到,容器启动就退出了,页面没显示报错。这个时候可能就是没有给jenkins映射目录授权。

因为当映射本地数据卷时,/root/jenkins_home/目录的拥有者为root用户,而容器中jenkins user的uid为1000

解决方案:

给jenkins目录授权:

chown -R 1000:1000 /root/jenkins_home/

2、因为docker容器里面jenkins安装目录有可能与你服务器上的目录不一致,jenkins输出的日志汇总的相关信息或目录可能无法直接使用,因此,可以将映射的目录设置软连接,保持与docker容器里面的jenkins目录一致:

ln -s /root/jenkins_home /var/jenkins_home

你可能感兴趣的:(通过Docker搭建jenkins)