1.下载镜像
docker pull jenkins/jenkins:lts
2.创建挂载目录
需要修改下目录权限,因为当映射本地数据卷时,/data/jenkins_home/目录的拥有者为root用户,
而容器中jenkins用户的 uid 为 1000。
# 创建文件夹(Jenkins工作空间目录)
mkdir -p /home/jenkins
chown -R 1000:1000 /home/jenkins/
3.按需安装软件,如java/maven/node等
# software 存放jdk,maven,node等软件
chown -R 1000:1000 /home/software/
4.构建容器
docker run -d \
--restart unless-stopped \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v /home/jenkins:/var/jenkins_home \
-v /home/software:/home/software \
-e TZ=Asia/Shanghai \
jenkins/jenkins:lts
5.进入容器获取密码
docker exec -it jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword
6.通过浏览器访问,并输入密码
http://你的ip:8080
7.安装插件
两种方式都可以,“安装推荐的插件”的方式安装时间会较长,这里我选择的是“选择插件来安装”,因为后续如果需要其他插件可以在系统中的插件管理里安装,以下为我选择的插件,仅供查考
插件安装完成后,输入管理员的账号密码,保存并完成就可以了
到这里建议重启容器,重新加载一下安装的插件。
8.全局工具配置
如果没有nodejs,需要现在插件管理中安装nodejs插件
9.接下来可以创建任务了
10.补充:
若是发现jenkins的时间和实际的时间不一致,大概率是时区的问题,所以需要修改jenkins容器中的时区
10.1.使用root身份进入容器
docker exec -it -u root jenkins /bin/bash
10.2.查看容器的时区
cat /etc/timezone
显示为:Etc/UTC
10.3.修改容器时区
echo Asia/Shanghai > /etc/timezone
10.4.退出容器,重启容器
docker restart jenkins
10.5.在jenkins系统管理->系统信息->系统属性->user.timezone字段变为:Asia/Shanghai,即为成功