【Jenkins 】---- Linux Ubuntu 24.04 Docker 安装最新 Jenkins 保姆级教程
Ubuntu 24.04 Docker 安装最新 Jenkins 保姆级教程
一、环境说明
- 系统:Ubuntu 24.04
- Docker:已安装(本教程基于 Docker 环境)
- Jenkins 版本:最新版(latest)
- 安装目录:宿主机
/usr/local/soft/jenkins(持久化挂载) - 国内镜像:使用 DaoCloud、华为云等国内镜像源,保证拉取速度
二、安装docker
安装docker 略过
创建 Jenkins 宿主机挂载目录
# 创建目标目录
sudo mkdir -p /usr/local/soft/jenkins
# Jenkins 容器内使用 UID=1000 用户运行,需授权目录权限
sudo chown -R 1000:1000 /usr/local/soft/jenkins
sudo chmod -R 755 /usr/local/soft/jenkins
三、拉取最新 Jenkins 国内镜像(2026最新)
国内镜像地址(全地址,直接复制使用)
- DaoCloud 镜像(推荐,速度最快):
m.daocloud.io/docker.io/jenkins/jenkins:latest - 华为云镜像(备用):
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jenkins/jenkins:latest
拉取镜像命令
# 拉取最新版 Jenkins(推荐 DaoCloud)
sudo docker pull m.daocloud.io/docker.io/jenkins/jenkins:latest
# 验证镜像是否拉取成功
sudo docker images | grep jenkins
输出示例:

四、启动 Jenkins 容器(核心步骤)
启动命令(含端口映射、目录挂载、时区配置)
先授权
授权:容器内 Jenkins 用户 UID=1000,必须给宿主机工具目录读权限:
1000代表的是jekins 在docker里运行的用户(默认的id就是1000)
chown -R 1000:1000 /usr/local/soft/maven3.9.3
chown -R 1000:1000 /usr/local/soft/jdk17
sudo docker run -d \
--name jenkins \
--restart always \
-p 8080:8080 \
-p 50000:50000 \
-v /usr/local/soft/jenkins:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
--user root \
-e TZ=Asia/Shanghai \
-e JAVA_OPTS="-Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai" \
m.daocloud.io/docker.io/jenkins/jenkins:latest
运行完后,再执行一句(给权限,jenkins 可以执行主机的docker命令。在自动化里需要用到)
docker exec -it jenkins chmod 666 /var/run/docker.sock
删除重建命令
sudo docker stop jenkins
sudo docker rm jenkins
参数说明
-d:后台运行容器--name jenkins:容器命名为 jenkins--restart always:开机自启、异常退出自动重启-p 8080:8080:Web UI 端口映射(宿主机:容器)-p 50000:50000:Jenkins 代理通信端口-v /usr/local/soft/jenkins:/var/jenkins_home:宿主机目录挂载到容器工作目录(持久化核心)-e TZ=Asia/Shanghai:设置时区为上海-e JAVA_OPTS:JVM 内存配置(避免内存溢出)
验证容器启动状态
# 查看运行中的容器
sudo docker ps | grep jenkins
# 查看容器日志(检查启动是否异常)
sudo docker logs -f jenkins
看到 Jenkins is fully up and running 说明启动成功。
五、初始化 Jenkins(Web 页面配置)
1. 获取初始管理员密码
# 方法1:直接从宿主机挂载目录读取(推荐)
sudo cat /usr/local/soft/jenkins/secrets/initialAdminPassword
# 方法2:从容器内读取
sudo docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
复制输出的 32 位随机密码。
2. 访问 Jenkins Web 界面
- 浏览器访问:
http://服务器IP:8080 - 输入刚才复制的初始密码,点击 Continue

3. 安装插件(新手推荐)
- 选择 Install suggested plugins(安装推荐插件)
- 等待插件安装完成(国内网络慢,后续会教加速)


4. 创建管理员账户
- 输入 用户名、密码、确认密码、全名、邮箱
- 点击 Save and Continue

5. 配置 Jenkins URL(默认即可)
- 直接点击 Save and Finish
- 点击 Start using Jenkins 完成初始化

六、安装插件,部署项目
Jenkins 启动成功之后,接下来我们安装三个必要的插件:
安装 Maven Integration:Maven 构建工具。
安装 Publish Over SSH:整个工具,将来把 Jenkins 打包好的 jar 上传到应用服务器上,如果不需要远程推送,不用安装。
Gitee:协助使用 Gitee 仓库,如果使用Gitee码云,安装插件Gitee(自带 Git不用单独安装)。
进入【首页】–【系统管理】–【插件管理】—【可选插件】,搜索 Maven Integration ,Publish Over SSH,
Gitee 进行安装,安装之后的效果:




还需要安装 Multiple SCMs plugin:

下载完成之后需要重启 jenkins(可以通过命令或者是点击网页上的重启)。


6、环境配置

6.1 Maven配置
把宿主机的配置拷贝到docker容器里的jenkins里,因为系统不通
# 你的宿主机maven安装的路径
# /usr/local/soft/maven3.9.3
# 1. 拷贝正确的 maven3.9.3 到 Jenkins 容器
docker cp /usr/local/soft/maven3.9.3 jenkins:/opt/maven
# 2. 用 root 身份进入容器,删除旧软链(避免冲突)
docker exec -u root jenkins rm -f /usr/sbin/mvn
# 3. 创建新的软连接(使用 3.9.3)
docker exec -u root jenkins ln -s /opt/maven/bin/mvn /usr/sbin/mvn
# 4. 验证版本
docker exec jenkins mvn -v
# 5. 验证版本
jenkins 配置写 /opt/maven

6.2 JDK配置
把宿主机的配置拷贝到docker容器里的jenkins里,因为系统不通
# 我的 jdk17的安装目录 /usr/local/soft/jdk17
# 1. 把宿主机的 jdk17 拷贝到 jenkins 容器 /opt/jdk17 目录
docker cp /usr/local/soft/jdk17 jenkins:/opt/jdk17
# 2. 进入容器赋予权限(-u root 用管理员权限)
docker exec -u root jenkins chmod -R 755 /opt/jdk17
# 3. 创建 java 软连接,让系统能直接用 java 命令
docker exec -u root jenkins ln -s /opt/jdk17/bin/java /usr/sbin/java
# 4. 验证容器内 JDK 版本
docker exec jenkins java -version
# Jenkins 配置 JDK 路径(直接填这个)
/opt/jdk17
如果输出的不是17是21或者其他,是自带的jdk。
强制改
docker exec -u root jenkins mv /opt/java/openjdk /opt/java/openjdk.bak
docker exec jenkins java -version

【需要重启吗? 】
完全不需要重启 Jenkins / 容器!配置完立即生效,直接就能用。
【验证方法 】
直接新建一个 Jenkins 任务验证!
步骤:
新建 自由风格项目
往下找到 Build Steps → 执行 shell
输入:
java -version
mvn -version
保存 → 立即构建
看控制台输出



看控制台输出

6.3 Git 配置
由于 Jenkins 容器中已经存在 git 了,所以这里不需要额外安装 git,默认即可。
$ docker exec jenkins git version
git version 2.39.2
$ docker exec jenkins which git
/usr/bin/git

点击保存完成配置。
7、创建任务
点击【首页】—【新建任务】,输入任务名称,点击【构建一个多配置项目】。

进行下面的配置:



点击保存,完成项目配置。
下面就可以运行项目了:

进入容器查看:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68268e74ba86 jenkins/jenkins:2.414.3 "/usr/bin/tini -- /u…" 46 minutes ago Up 29 minutes 0.0.0.0:50000->50000/tcp, 0.0.0.0:9090->8080/tcp jenkins
$ docker exec -it 68268e74ba86 /bin/bash
root@68268e74ba86:/# cd /var/jenkins_home/workspace/first_jenkins
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins# ls
default pom.xml src
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins# cd default/
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default# ls
pom.xml src target
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default# cd target/
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default/target# ls
classes jenkins_demo-0.0.1-SNAPSHOT.jar maven-status
generated-sources jenkins_demo-0.0.1-SNAPSHOT.jar.original surefire-reports
generated-test-sources maven-archiver test-classes
root@68268e74ba86:/var/jenkins_home/workspace/first_jenkins/default/target# exit
exit
至此,完成。
七、常用运维命令
# 停止 Jenkins
sudo docker stop jenkins
# 启动 Jenkins
sudo docker start jenkins
# 重启 Jenkins
sudo docker restart jenkins
# 查看 Jenkins 日志
sudo docker logs -f jenkins
# 进入 Jenkins 容器
sudo docker exec -it jenkins /bin/bash
# 删除 Jenkins 容器(保留数据)
sudo docker rm -f jenkins
八、常见问题
- 启动报错:权限不足
- 解决:重新执行目录授权
sudo chown -R 1000:1000 /usr/local/soft/jenkins
- 解决:重新执行目录授权
- 插件下载失败
- 解决:按步骤六配置清华大学插件源,重启容器
- 无法访问 Web 界面
- 解决:检查防火墙放行 8080 端口
sudo ufw allow 8080 sudo ufw reload
- 解决:检查防火墙放行 8080 端口
九、后续建议
- 安装 Maven、Git、Docker 等工具(通过 Jenkins 全局工具配置)
- 配置 LDAP/企业微信 登录
- 搭建 CI/CD 流水线(自动化构建、测试、部署)
更多推荐
所有评论(0)