CentOS系统Jenkins容器化部署指南
Jenkins容器化依赖Docker环境,需先在CentOS系统上安装Docker。具体步骤如下:
sudo yum update -y
,确保系统软件包为最新版本。sudo yum install -y yum-utils device-mapper-persistent-data lvm2
,安装Docker依赖的工具包。sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
命令,将Docker官方镜像源添加到系统。sudo yum install -y docker-ce docker-ce-cli containerd.io
,安装Docker社区版(CE)。sudo systemctl start docker
启动Docker服务,sudo systemctl enable docker
设置开机自启。docker --version
命令确认Docker安装成功,输出应包含Docker版本信息。从Docker Hub获取Jenkins官方镜像(推荐使用LTS长期支持版本,稳定性更高):
docker pull jenkins/jenkins:lts
等待镜像下载完成(镜像大小约几百MB,取决于网络环境)。
使用docker run
命令启动Jenkins容器,需配置端口映射、数据卷挂载等参数:
docker run -d \
--name jenkins \ # 容器名称(自定义,如jenkins_master)
-p 8080:8080 \ # 将容器8080端口映射到主机8080端口(Web界面访问)
-p 50000:50000 \ # 将容器50000端口映射到主机50000端口(Jenkins节点通信)
-v jenkins_data:/var/jenkins_home \ # 挂载匿名卷,持久化Jenkins配置/数据
-v /etc/localtime:/etc/localtime \ # 挂载主机时区,避免容器内时间偏差
jenkins/jenkins:lts
参数说明:
-d
:后台运行容器;--name
:指定容器名称(便于后续管理);-p
:端口映射(主机端口:容器端口);-v
:数据卷挂载(匿名卷jenkins_data
会自动创建,主机目录挂载需替换为实际路径,如-v /home/user/jenkins:/var/jenkins_home
)。获取初始管理员密码:容器启动后,Jenkins会生成初始管理员密码,通过以下命令查看:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
复制输出的密码(如123456abcdef
)。
访问Jenkins Web界面:在浏览器中输入http://<CentOS服务器IP>:8080
,进入Jenkins初始化页面,输入上述密码完成解锁。
安装推荐插件:选择“安装推荐插件”(默认勾选常用插件,如Git、Pipeline、SSH等),等待插件安装完成。
创建管理员用户:设置管理员账号(如admin
)和密码,完成Jenkins初始化配置。
国内访问Docker Hub较慢,可修改Jenkins镜像加速器地址,提升插件/镜像下载速度:
# 进入Jenkins容器
docker exec -it jenkins bash
# 编辑更新中心配置文件
vim /var/jenkins_home/hudson.model.UpdateCenter.xml
# 将<url>https://updates.jenkins.io/update-center.json</url>替换为国内镜像源(如清华源)
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
# 保存退出,重启Jenkins容器
exit
docker restart jenkins
若需在Jenkins中构建/推送Docker镜像,需安装Docker插件并配置Docker云:
unix:///var/run/docker.sock
),添加Docker凭据(如dockerhub
账号),保存配置。通过docker-compose.yml
文件定义Jenkins服务,实现一键启动/停止/重启:
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins_data:/var/jenkins_home
- /etc/localtime:/etc/localtime
volumes:
jenkins_data:
使用方法:
docker-compose up -d
;docker-compose down
;docker-compose logs -f
。sudo firewall-cmd --add-port=8080/tcp --permanent
,sudo firewall-cmd --reload
),或主机IP是否正确。docker logs jenkins
查看容器日志,排查错误原因(如端口冲突、磁盘空间不足)。通过以上步骤,即可在CentOS系统上完成Jenkins的容器化部署,实现Jenkins的快速启动、数据持久化和便捷管理。