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
二、拉取Jenkins镜像
从Docker Hub拉取官方Jenkins LTS(长期支持)镜像(生产环境推荐,稳定性高):
sudo docker pull jenkins/jenkins:lts
三、运行Jenkins容器
使用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并完成初始化
-
获取初始管理员密码:
容器启动后,通过以下命令获取Jenkins初始密码(用于解锁界面):sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword输出结果类似
123456abcdef...,复制该密码。 -
解锁Jenkins:
打开浏览器,访问http://,进入Jenkins初始化页面。在“Unlock Jenkins”输入框中粘贴上述密码,点击“Continue”。:8080 -
安装推荐插件:
选择“Install suggested plugins”(安装官方推荐的常用插件,如Git、Pipeline、Docker等),等待插件安装完成。 -
创建管理员用户:
在“Create First Admin User”页面,填写用户名、密码、邮箱等信息,点击“Save and Finish”。 -
完成设置:
最后进入Jenkins主界面,点击“Start using Jenkins”即可开始使用。
五、可选优化:使用Docker Compose管理
若需要更规范的配置(如多容器编排),可使用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权限:若挂载
docker.sock,需确保Jenkins容器内的jenkins用户有权限访问宿主机Docker服务(默认通过-v /var/run/docker.sock:/var/run/docker.sock实现); - 镜像选择:生产环境优先使用
lts版本(长期支持,bug修复及时),避免使用latest版本(可能不稳定)。
以上就是关于“Debian Jenkins如何容器化部署”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm