Debian系统下Jenkins容器化部署指南
确保Debian系统已安装Docker(推荐使用Docker CE版本),并启动Docker服务。若未安装,可通过以下命令完成:
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker # 设置开机自启
验证Docker是否正常运行:
sudo docker run hello-world
从Docker Hub拉取官方Jenkins LTS(长期支持)镜像(生产环境推荐,稳定性高):
sudo docker pull jenkins/jenkins:lts
使用docker run命令启动Jenkins容器,关键参数说明:
-d:后台运行容器;-p 8080:8080:将容器8080端口映射到宿主机,用于访问Jenkins Web界面;-p 50000:50000:将容器50000端口映射到宿主机,用于Jenkins Agent节点通信;--name jenkins:指定容器名称为jenkins(便于管理);-v jenkins_home:/var/jenkins_home:通过Docker卷持久化Jenkins数据(避免容器删除后数据丢失);-v /var/run/docker.sock:/var/run/docker.sock(可选):挂载宿主机Docker套接字,允许容器内Jenkins直接调用宿主机Docker服务(如构建镜像)。完整命令:
sudo docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts
获取初始管理员密码:
容器启动后,通过以下命令获取Jenkins初始密码(用于解锁界面):
sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
输出结果类似123456abcdef...,复制该密码。
解锁Jenkins:
打开浏览器,访问http://<Debian服务器IP>:8080,进入Jenkins初始化页面。在“Unlock Jenkins”输入框中粘贴上述密码,点击“Continue”。
安装推荐插件:
选择“Install suggested plugins”(安装官方推荐的常用插件,如Git、Pipeline、Docker等),等待插件安装完成。
创建管理员用户:
在“Create First Admin User”页面,填写用户名、密码、邮箱等信息,点击“Save and Finish”。
完成设置:
最后进入Jenkins主界面,点击“Start using Jenkins”即可开始使用。
若需要更规范的配置(如多容器编排),可使用docker-compose.yml文件管理Jenkins部署。创建docker-compose.yml文件:
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
environment:
- JAVA_OPTS=-Djenkins.install.runSetupWizard=true # 强制显示初始化向导
volumes:
jenkins_home:
启动服务:
docker-compose up -d
停止服务:
docker-compose down
-v参数挂载jenkins_home卷,否则容器删除后所有Jenkins配置、构建记录会丢失;/jenkins/data)需提前创建,并赋予权限chown -R 1000:1000 /jenkins/data(Jenkins容器内用户jenkins的UID为1000);docker.sock,需确保Jenkins容器内的jenkins用户有权限访问宿主机Docker服务(默认通过-v /var/run/docker.sock:/var/run/docker.sock实现);lts版本(长期支持,bug修复及时),避免使用latest版本(可能不稳定)。