docker部署Jenkins工具

环境准备

1.当前安装在Windows系统下的Docker-Desktop

下载地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker

2.下载后进行安装并进行配置启动docker

3.创建一个空的文件夹,用于后面的启动时做文件路径映射

下载镜像

bash 复制代码
docker pull jenkins/jenkins:lts

查询镜像

bash 复制代码
# 查询下载后的镜像
docker images

运行

bash 复制代码
docker run -d --name jenkins -p 8081:8080 -p 50000:50000 -v /D/Docker_server/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --restart unless-stopped  jenkins/jenkins:lts

这个 docker run 命令用于启动一个 Jenkins 容器,并配置了多个参数。下面是对每个选项的详细解释:


1. -d

  • 作用:以 "detached"(后台)模式运行容器。

  • 解释:容器会在后台运行,不会占用当前终端。


2. --name jenkins

  • 作用 :给容器指定一个名称 jenkins

  • 解释 :方便后续管理(如 docker stop jenkinsdocker logs jenkins 等)。


3. -p 8081:8080

  • 作用:端口映射(主机端口:容器端口)。

  • 解释

    • Jenkins Web 界面默认运行在容器内的 8080 端口。

    • 这里将主机的 8081 端口映射到容器的 8080 端口,因此访问 http://localhost:8081 可以进入 Jenkins。


4. -p 50000:50000

  • 作用:映射 Jenkins Agent(节点)通信端口。

  • 解释

    • Jenkins 主节点和 Agent 节点之间通过 50000 端口通信。

    • 如果将来要添加 Jenkins Agent(如 Docker 动态 Agent),需要开放此端口。


5. -v /D/Docker_server/jenkins_home:/var/jenkins_home

  • 作用:挂载数据卷(主机目录:容器目录)。

  • 解释

    • Jenkins 的所有数据(如 jobs、插件、配置)默认存储在容器的 /var/jenkins_home

    • 这里将主机的 D:\Docker_server\jenkins_home 映射到容器内的 /var/jenkins_home,使数据持久化(即使容器删除,数据仍在)。

    • 注意

      • Windows 路径在 Docker 中通常写成 /D/Docker_server/jenkins_homeD:\\Docker_server\\jenkins_home

      • 确保主机目录存在,且 Docker 有权限访问。


6. -v /var/run/docker.sock:/var/run/docker.sock

  • 作用:挂载 Docker 守护进程的 Unix 套接字。

  • 解释

    • 允许 Jenkins 容器直接与主机的 Docker 引擎通信(用于动态创建 Docker 容器作为 Jenkins Agent)。

    • 注意:这会授予 Jenkins 容器较高的权限(等同于主机 root 用户),仅限可信环境使用。


7. --restart unless-stopped

  • 作用:设置容器重启策略。

  • 解释

    • 如果容器异常退出,Docker 会自动重启它。

    • unless-stopped 表示除非手动停止(docker stop jenkins),否则总是重启。


8. jenkins/jenkins:lts

  • 作用:指定使用的镜像。

  • 解释

    • jenkins/jenkins 是官方 Jenkins 镜像。

    • :lts 表示使用长期支持(Long-Term Support)版本,较稳定。

访问页面

直接浏览器访问:http://localhost:8081

进入后需要输入初始化密码,可通过下面查询初始化密码步骤进行查询

查询初始化密码

bash 复制代码
# 查询已经启动的容器
docker ps -a
bash 复制代码
# 用上面查询到的CONTAINER ID 替换即可进入容器
docker exec -it <CONTAINER ID> /bin/bash
# 直接输出密码
cat /var/jenkins_home/secrets/initialAdminPassword

结语

供大家学习交流

相关推荐
Alsn8614 小时前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_9618752416 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj17 小时前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵17 小时前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏17 小时前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主17 小时前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang18 小时前
Docker 使用完整指南
运维·docker·容器
正经教主18 小时前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
醉颜凉19 小时前
Elasticsearch高性能优化:Bulk API大规模数据导入性能调优全攻略
elasticsearch·性能优化·jenkins
CodeStats20 小时前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker