环境准备
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 jenkins
、docker 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
进入后需要输入初始化密码,可通过下面查询初始化密码步骤进行查询
查询初始化密码
bash
# 查询已经启动的容器
docker ps -a

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