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

结语

供大家学习交流

相关推荐
70asunflower2 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
ShiLiu_mtx2 小时前
k8s - 7
云原生·容器·kubernetes
闲人编程3 小时前
Elasticsearch搜索引擎集成指南
python·elasticsearch·搜索引擎·jenkins·索引·副本·分片
春日见3 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe23 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天4 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua5 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧6 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家6 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
70asunflower10 小时前
用Docker创建不同的容器类型
运维·docker·容器