使用 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
复制后粘贴进浏览器完成首次配置(安装插件等)。
六、常用命令
操作 | 命令 |
---|---|
启动 Jenkins | docker compose up -d |
查看日志 | docker compose logs -f |
停止 Jenkins | docker compose down |
进入容器内部 | docker exec -it jenkins bash |
七、常见问题与建议
-
权限问题:
如果 Jenkins 容器内出现权限错误,确保挂载目录/home/jenkins
的属主为1000:1000
。 -
容器内无法使用 docker 命令:
因为/var/run/docker.sock
被挂载到容器内,你可以安装 Docker CLI:docker exec -it jenkins bash apt update && apt install docker.io -y
-
数据备份:
定期备份/home/jenkins
目录,以防数据丢失。
八、总结
通过本文你已经成功使用 Docker Compose 部署了 Jenkins LTS 环境。这种方式不仅便于管理,还可以轻松迁移与扩展。
如需进一步配合 GitLab、Maven、Nexus 或 Kubernetes 进行 CI/CD,可以在 Jenkins 安装相关插件并配置流水线。