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

结语

供大家学习交流

相关推荐
包饭厅咸鱼8 分钟前
小龙虾openclaw----Windows+Wsl+Docker 安装openclaw 并接入飞书
windows·docker·openclaw·小龙虾
骥龙25 分钟前
第五篇:运行时安全——Docker沙箱与命令审批机制
安全·docker·容器
tonyhi61 小时前
Ubuntu DeepSeek R1本地化部署 Ollama+Docker+OpenWebUI
java·ubuntu·docker
南山十一少2 小时前
docker的安装及使用
运维·docker·容器
无籽西瓜a2 小时前
Docker 环境下 Redis Lua 脚本部署与执行
redis·docker·lua
道清茗3 小时前
【Kubernetes知识点问答题】PriorityClass、HPA、Argo CD 与 CI/CD 流水线
ci/cd·容器·kubernetes
万里不留行3 小时前
解决ubuntu docker拉取环境失败问题
linux·ubuntu·docker
无名-CODING3 小时前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(下):Vue前端Nginx反代与致命坑点盘点
前端·spring boot·docker
DJ斯特拉3 小时前
Docker基本使用
运维·docker·容器