当前位置: 首页 > news >正文

使用 Docker Compose 部署 Jenkins(LTS 版)持续集成环境

一、前言

Jenkins 是目前最流行的开源持续集成工具之一。本教程将手把手带你使用 Docker Compose 快速部署 Jenkins LTS(长期支持版本),同时保留数据持久化、Docker 命令转发等功能,适合用于生产或本地开发测试环境。


二、环境准备

确保你的 Linux 系统中已安装以下软件:

  • Docker(建议 20.x+)
  • Docker Compose(建议 2.x+)

检查版本:

docker -v
docker compose version

三、创建目录结构

mkdir -p ~/jenkins-docker
cd ~/jenkins-docker# 创建用于数据持久化的目录
mkdir -p /home/jenkins

建议将 /home/jenkins 权限赋给非 root 用户,例如当前用户:

sudo chown -R 1000:1000 /home/jenkins

其中 1000:1000 是 Jenkins 容器中的默认运行用户 ID。


四、创建 docker-compose.yml

~/jenkins-docker 目录下创建 docker-compose.yml 文件:

services:jenkins:image: jenkins/jenkins:lts  # 使用官方 LTS 版本container_name: jenkinsuser: "1000:1000"ports:- "8080:8080"     # Jenkins Web UI- "50000:50000"   # JNLP Agent 通信端口volumes:- /home/jenkins:/var/jenkins_home         # 持久化 Jenkins 数据- /var/run/docker.sock:/var/run/docker.sock  # 容器内访问宿主机 Dockerrestart: unless-stopped

五、启动 Jenkins

执行以下命令启动 Jenkins:

docker compose up -d

首次启动后,你可以访问 Jenkins Web UI:

http://<你的IP>:8080

查看初始管理员密码:

cat /home/jenkins/secrets/initialAdminPassword

复制后粘贴进浏览器完成首次配置(安装插件等)。


六、常用命令

操作命令
启动 Jenkinsdocker compose up -d
查看日志docker compose logs -f
停止 Jenkinsdocker compose down
进入容器内部docker exec -it jenkins bash

七、常见问题与建议

  1. 权限问题:
    如果 Jenkins 容器内出现权限错误,确保挂载目录 /home/jenkins 的属主为 1000:1000

  2. 容器内无法使用 docker 命令:
    因为 /var/run/docker.sock 被挂载到容器内,你可以安装 Docker CLI:

    docker exec -it jenkins bash
    apt update && apt install docker.io -y
    
  3. 数据备份:
    定期备份 /home/jenkins 目录,以防数据丢失。


八、总结

通过本文你已经成功使用 Docker Compose 部署了 Jenkins LTS 环境。这种方式不仅便于管理,还可以轻松迁移与扩展。

如需进一步配合 GitLab、Maven、Nexus 或 Kubernetes 进行 CI/CD,可以在 Jenkins 安装相关插件并配置流水线。

相关文章:

  • 基于深度强化学习的Scrapy-Redis分布式爬虫动态调度策略研究
  • 常用枚举技巧:基础(一)
  • Go 并发编程基础:通道(Channel)的使用
  • 在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
  • Go 中的 Map 与字符处理指南
  • LangChainGo入门指南:Go语言实现与OpenAI/Qwen模型集成实战
  • 【Go语言基础【9】】字符串格式化与输入处理
  • 元图CAD:一键解锁PDF转CAD,OCR技术赋能高效转换
  • 关于dropbear ssh服务
  • 基于ReAction范式的问答系统实现demo
  • 【动手学MCP从0到1】2.5 MCP中的Context日志输出、进度汇报和服务端调用客户端的大模型项目实现步骤详解
  • 【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
  • 视频监控平台建设方案
  • 精益数据分析(95/126):Socialight的定价转型启示——B2B商业模式的价格策略与利润优化
  • 智能制造数字孪生全要素交付一张网:智造中枢,孪生领航,共建智造生态共同体
  • 大模型安全测试报告:千问、GPT 全系列、豆包、Claude 表现优异,DeepSeek、Grok-3 与 Kimi 存在安全隐患
  • yolo 训练 中间可视化
  • 视频监控管理平台EasyCVR与V4分析网关对接后告警照片的清理优化方案
  • Fullstack 面试复习笔记:Spring / Spring Boot / Spring Data / Security 整理
  • 本地部署企业邮箱,让企业办公更安全高效
  • 用百度云服务器做网站/百家港 seo服务
  • 哪个网站能上传自己做的简历/网络营销师证书怎么考
  • 菏泽 做网站 多少钱/下载爱城市网app官方网站
  • 子目录创建网站/2023近期舆情热点事件
  • 保险做的好的网站有哪些/今日重大新闻头条十条
  • 网站建设优秀网/东莞互联网公司排名