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

结语

供大家学习交流

相关推荐
猫吃了源码4 小时前
k9s简介和安装
linux·docker·kubernetes
云原生指北6 小时前
Docker Sandboxes 上手:从安装到第一次跑 Agent
运维·docker·容器
ziyun6668886 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
heimeiyingwang8 小时前
【架构实战】Kubernetes故障排查全景图:从Pod异常到集群雪崩的诊断手册
容器·架构·kubernetes
骇客野人8 小时前
Docker Compose 部署多个独立 Jar 服务完整实操步骤
docker·容器·jar
AAA@峥9 小时前
K8s 资源管控:ResourceQuota 与 LimitRange 机制详解与实战
云原生·容器·kubernetes
daoihfoaf9 小时前
太原助听器品质甄选
容器
云川之下10 小时前
【k8s】Docker inspect 命令
docker·容器·kubernetes
猫吃了源码12 小时前
CentOS7使用Kubeadm安装部署K8s(Kubernetes)最新稳定版本1.26.x
云原生·容器·kubernetes
骇客野人12 小时前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins