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

八、常见问题

  1. 启动报错:权限不足
    • 解决:重新执行目录授权 sudo chown -R 1000:1000 /usr/local/soft/jenkins
  2. 插件下载失败
    • 解决:按步骤六配置清华大学插件源,重启容器
  3. 无法访问 Web 界面
    • 解决:检查防火墙放行 8080 端口
      sudo ufw allow 8080
      sudo ufw reload
      

九、后续建议

  • 安装 Maven、Git、Docker 等工具(通过 Jenkins 全局工具配置)
  • 配置 LDAP/企业微信 登录
  • 搭建 CI/CD 流水线(自动化构建、测试、部署)

更多推荐