一、环境准备
安装Docker引擎
# CentOS 7示例
yum update -y && yum remove -y docker docker-common docker-selinux docker-engine
# Ubuntu 20.04示例
apt update -y && apt remove -y docker docker-engine docker.io containerd runc
yum install -y yum-utils device-mapper-persistent-data lvm2 # CentOS
apt install -y apt-transport-https ca-certificates curl software-properties-common # Ubuntu
# CentOS
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
# Ubuntu
add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable"
apt install -y docker-ce
systemctl start docker && systemctl enable docker
docker --version # 应输出Docker版本信息
拉取Jenkins镜像
推荐使用LTS(长期支持)版本以保证稳定性:
docker pull jenkins/jenkins:lts
二、Jenkins容器部署
运行Jenkins容器
执行以下命令启动容器,关键参数说明:
-d:后台运行容器;--name jenkins:指定容器名称为jenkins;-p 8080:8080:将容器8080端口映射到主机8080端口(Web界面);-p 50000:50000:将容器50000端口映射到主机50000端口(Jenkins代理通信);-v jenkins-data:/var/jenkins_home:将容器内Jenkins数据目录挂载到Docker卷jenkins-data(持久化数据,避免容器删除后数据丢失);-v /var/run/docker.sock:/var/run/docker.sock:挂载主机Docker套接字,允许Jenkins直接调用主机Docker API(用于构建Docker镜像等场景);-e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m":设置Jenkins时区(可选)及JVM内存参数(根据服务器配置调整)。docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Xmx2g -Xms512m" jenkins/jenkins:lts
获取初始管理员密码
容器启动后,通过以下命令获取初始密码(用于解锁Jenkins):
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
复制输出的密码,后续用于Web界面解锁。
访问Jenkins Web界面
在浏览器中输入http://<服务器IP>:8080,输入上述获取的初始密码,进入Jenkins初始化页面。
三、Jenkins初始化配置
安装插件
Git、Maven、Docker、Pipeline等);创建管理员用户
在“创建第一个管理员用户”页面,填写用户名、密码、邮箱等信息,点击“保存并完成”。
完成初始化
点击“开始使用Jenkins”,进入Jenkins主界面。
四、生产环境优化建议
使用Docker Compose管理容器
创建docker-compose.yml文件(简化容器启停及配置管理):
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins-data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
restart: always # 容器异常退出时自动重启
volumes:
jenkins-data:
启动容器:
docker-compose up -d
数据持久化增强
jenkins-data卷挂载到宿主机高可用存储路径(如/mnt/jenkins-data),避免单点故障;jenkins-data卷(可使用docker run --rm -v jenkins-data:/volume -v $(pwd):/backup busybox tar czf /backup/jenkins-backup.tar.gz -C /volume .命令)。安全加固