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

docker部署Jenkins工具

环境准备

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

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

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

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

下载镜像

docker pull jenkins/jenkins:lts

查询镜像

# 查询下载后的镜像
docker images

运行

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_home 或 D:\\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

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

查询初始化密码

# 查询已经启动的容器
docker ps -a

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

结语

供大家学习交流

相关文章:

  • PTA -L1-001 Hello World
  • 联邦知识窃取模型(FedBM):从预训练语言模型中窃取知识以实现异构联邦学习|文献速递-深度学习医疗AI最新文献
  • TCP基础题:音乐播放列表管理系统
  • React 的 useEffect 清理函数详解
  • Docker-高级使用
  • 【python】Python 中,单下划线(_)和双下划线(__)开头以及结尾的命名方式具有特殊的含义和用途
  • 安恒web安全春招实战
  • 如何使用 Apache 配置用户主页 ?
  • 【前端】【面试】在前端开发中,如何优化 CSS 以提升页面渲染性能?
  • 轻松完成视频创作,在线视频编辑器,无需下载软件,功能多样实用!
  • 游戏引擎学习第243天:异步纹理下载
  • C++区别于C语言的提升用法(万字总结)
  • 推荐几个可以免费下载视频的软件(Neat Download Manager、蜗牛下载助手、bilidown)
  • 【安全扫描器原理】网络扫描算法
  • 【题解-Acwing】851. spfa求最短路
  • 动态自适应分区算法(DAPS)设计流程详解
  • 【Qt6 QML Book 基础】07:布局项 —— 锚定布局与动态交互(附完整可运行代码)
  • MySQL 报错解析:SQLSyntaxErrorException caused by extra comma before FROM
  • 网络原理 - 7(TCP - 4)
  • 技术视界 | 数据的金字塔:从仿真到现实,机器人学习的破局之道
  • 安徽铁塔再通报“会议室不雅行为”事件:涉事员工停职检查
  • 长三角议事厅|国际产业转移对中国产业链韧性的影响与对策
  • 国防部:菲挑衅滋事违背地区国家共同利益
  • 商务部新闻发言人:截至目前,中美之间未进行任何经贸谈判
  • 央媒关注脑瘫女骑手:7年跑出7.3万多份单,努力撑起生活
  • 官宣一起打造智能汽车品牌后,华为喊话上汽要准备好足够产能