通过Docker搭建jenkins

x33g5p2x  于2021-12-18 转载在 其他  
字(1.3k)|赞(0)|评价(0)|浏览(395)

简单介绍一下通过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.war

    cp /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

相关文章