简单介绍一下通过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.war
cp /var/jenkins_home/jenkins.war /usr/share/jenkins
# 然后重新启动一下jenkins,或者把容器重新
docker restart jenkins
启动jenkins之后,相关的配置操作等,可以看之前写的文章:
踩过的坑:
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