DockerCompose中部署Jenkins(Docker Desktop在windows上数据卷映射)

场景

Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑:

Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑_jenkins的安装以及集成jdk+git+maven 提示警告-CSDN博客

Windows10(家庭版)中DockerDesktop(docker)的配置、安装、修改镜像源、使用:

Windows10(家庭版)中DockerDesktop(docker)的配置、安装、修改镜像源、使用_dockerdesktop中文设置-CSDN博客

下面在Windows电脑上安装的Docker Desktop并且使用Docker Compose的方式来部署Jenkins。

当然在Linux上流程一样,不过需要修改数据卷映射中的路径。

注:

博客:
霸道流氓气质-CSDN博客

实现

1、在某磁盘路径下新建jenkins_home文件夹和tool文件夹以及docker-compose.yaml

jenkins_home用来后续映射jenkins的工作目录,tool为了方便后续通过tar包文件方式进行安装配置jdk和maven等工具时使用。

可以进入容器查看

复制代码
docker exec -it jenkins_test /bin/bash

修改docker-compose.yaml的内容为

复制代码
version: "3.6"

services:

  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins_test
    restart: on-failure
    privileged: true
    user: root
    ports:
      - "38080:8080"
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - ./tool:/tool

这里的镜像使用的是jenkins/jenkins:lts

可以搜索镜像

复制代码
docker search jenkins

容器名称为jenkins_test

端口映射将容器内的8080映射到主机的38080

注意这里jenkins在Window(Docker Desktop)上的数据卷映射,这里使用的是相对路径的方式

如果直接使用Docker命令启动的方式,在windows上使用docker desktop做数据卷映射时可以直接使用绝对路径,比如

复制代码
docker run -d --name jenkins1 -p 28088:8080 -v D:\SoftWare\jenkinshome:/var/jenkins_home -u 0 jenkins/jenkins:lts

2、在此路径下打开cmd,启动

复制代码
docker compose up -d

这里之前启动过所以没有执行拉取镜像等操作,启动之后访问本地的38080端口

启动成功且jenkins_home映射成功。

3、如何修改jenkis的下载地址为国内镜像源

找到映射的jenkins_home下的hudson.model.UpdateCenter.xm

然后编辑将默认的url改为如下

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

复制代码
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

这里是清华源,也可改为其他源。

修改之后,down掉重启

复制代码
docker compose down

docker compose up -d

4、查询默认管理员密码

复制代码
docker exec -it jenkins_test cat /var/jenkins_home/secrets/initialAdminPassword

将密码复制然后后续操作就是安装插件和配置以及使用jenkins了。

相关推荐
帝国辉耀15 小时前
docker、docker daemon、k8s、dockershim、containerd之间的关系
docker·容器·kubernetes
明明跟你说过5 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
2301_794333917 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
JCGKS8 小时前
Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
docker·ssh·端口·listen·tcp三次握手
惜.己9 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
苦逼IT运维9 小时前
Jenkins 监控方案:Prometheus + Grafana 实践
jenkins·grafana·prometheus
scugxl9 小时前
centos7 docker离线安装
运维·docker·容器
一念一花一世界10 小时前
DevOps实战(3) - 使用Arbess+GitLab+Hadess实现Java项目自动化部署
gitlab·jenkins·tiklab·arbess·开源cicd工具
你是人间五月天11 小时前
sentinel实现控制台与nacos数据双向绑定
windows·sentinel
计算机小手11 小时前
AI 驱动数据分析:开源 SQLBot 项目探索,基于大模型和 RAG 实现精准问数与图表挖掘
经验分享·docker·开源软件