简单介绍一下通过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
安装国内镜像(插件下载快)
下载jenkins官方最新镜像:
docker pull jenkinszh/jenkins-zh;
启动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 jenkinszh/jenkins-zh
其他操作
进入容器里面:
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