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:ltscontainer_name: jenkins_testrestart: on-failureprivileged: trueuser: rootports:- "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 downdocker compose up -d

4、查询默认管理员密码

docker exec -it jenkins_test cat /var/jenkins_home/secrets/initialAdminPassword

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#vb代码互转工具

下载地址: https://download.csdn.net/download/wgxds/88979921

stm32中如何实现EXTI线 0 ~ 15与对应IO口的配置呢?

STM32的EXTI控制器支持19 个外部中断/ 事件请求。每个中断设有状态位,每个中断/ 事件都有独立的触发和屏蔽设置。 STM32的19个外部中断对应着19路中断线,分别是EXTI_Line0-EXTI_Line18: 线0~15:对应外部 IO口的输入中断。 线16&…

【MMU】——ARM 一级页表

文章目录 一级页表项即 entry 的格式如下 从上图可以看出 L1 页表项有四种可能类型 产生中止异常的故障条目。这可能是预取或数据中止、取决于访问类型。这实际上表示虚拟地址未映射 bit[1:0] = 00指向 L2 转换表的条目。这样就能将 1MB 的内存分页 bit[1:0] = 01。1MB 段转换…

STM32远程更新

1 IAP 概述 1.1 工作原理 在应用中编程( IAP )是一种在现场通过 MCU 的通信接口(例如 UART,USB,CAN 和以太网 等)进行固件升级的方式。 当启动微控制器时,您可以选择让它进入 IAP 模式以执行 IAP 代码&am…

04-240606Spark笔记

04-240606Spark笔记 1.行动算子-2 save相关算子: 格式: def saveAsTextFile(path: String): Unit def saveAsObjectFile(path: String): Unit def saveAsSequenceFile(path: String,codec: Option[Class[_ <: CompressionCodec]] None): Unit 例子: val rdd sc.makeR…

【Python报错】已解决NameError: name ‘Image‘ is not defined

解决Python报错&#xff1a;NameError: name ‘Image’ is not defined 在使用Python进行图像处理时&#xff0c;我们经常使用Pillow库&#xff08;PIL的一个分支&#xff09;。如果你在尝试创建或处理图像时遇到了NameError: name Image is not defined的错误&#xff0c;这通…

关于python包导入问题的重思考

将顶层目录直接设置为一个包 像这样&#xff0c;每一个文件从顶层包开始导入 这样可以解决我的问题&#xff0c;但是要注意的时&#xff0c;要避免使用出现上下级出现同名包的情况&#xff0c;比如&#xff1a; AutoServer--AutoServer--__init__.py--__init__.py这种情况下…

绿联云NAS一些探索(1):SSH、包管理器探测、安装docker-compose等

绿联云NAS一些探索SSH、包管理器探测、安装docker-compose等 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…

AI图书推荐:《如何利用ChatGPT在线赚钱》

这本书《如何利用ChatGPT在线赚钱》&#xff08;$100m ChatGPT_ How To Make Money Online With ChatGPT -- Sharp, Biily -- 2023 &#xff09;主要阐述如何利用ChatGPT这一强大的语言模型工具在互联网上创造收入。 以下是各章节内容的概要&#xff1a; **引言** - 介绍了Chat…

STM32F103单片机工程移植到航顺单片机HK32F103注意事项

一、简介 作为国内MCU厂商中前三阵营之一的航顺芯片&#xff0c;建立了世界首创超低功耗7nA物联网、万物互联核心处理器浩瀚天际10X系列平台&#xff0c;接受代理商/设计企业/方案商定制低于自主研发十倍以上成本&#xff0c;接近零风险自主品牌产品&#xff0c;芯片设计完成只…

编译等底层知识

目录 一. GCC命令语句大全 二. GCC编译4个阶段 三. makefile的使用 四. CMake 五. GNU工具链开发流程图 六. Keil中的地址段 七. 静态库和动态库 一. GCC命令语句大全 -c只编译源文件&#xff0c;生成目标文件&#xff08;.o 文件&#xff09;&#xff0c;不进行链接。…

CC++内存管理【new和delete操作符的详细分析】【常见面试题】

C/C内存管理 1.C/C内存分布 我们先来看一段代码&#xff0c;来了解一下C/C中的数据内存分布。 # include <stdlib.h>int globalVar 1; static int staticGlobalVar 1; // 比globalVar还要先销毁,同一个文件下后定义的先析构 // 全局变量存在 数据段&#xff08;静态…

VSCode+Vite+Vue3断点调试

目录 lunch.json创建 vite.config.ts 打断点运行 lunch.json创建 首先&#xff0c;点击VSCode左上角&#xff0c;甲壳虫运行的按钮&#xff0c;然后点击运行与调试&#xff0c;选择chrome浏览器&#xff0c;修改成一下配置。 { // 使用 IntelliSense 了解相关属性。 // 悬停…

codeforces round 949 div2

A Turtle and Piggy Are Playing a Game 题目&#xff1a; 思路&#xff1a;输出2的幂次b使得2^b为最大的不超过x的数 代码&#xff1a; #include <iostream>using namespace std;const int N 2e5 10;void solve() {int l, r;cin >> l >> r;if(r % 2) …

vscode 运行和调试

vscode使用断点 1.安装并激活扩展 Debugger for Chrome (弃用 --> JavaScript Debugger)Debugger for Firefox 2. 配置config文件 打开 config/index.js 并找到 devtool property。将其更新为&#xff1a; 如果你使用的是 Vue CLI 2&#xff0c;请设置并更新 config/in…

SpringBoot Redis读写与数据序列化 RedisTemplate 与 StringRedisTemplate 防转字节

介绍 RedisTemplate 对象在底层默认会转成字节&#xff0c;造成了内存的开销很大&#xff0c;这是他底层进行处理的,造成可读性差&#xff0c;如需要转成简单的字符串存储需要进行序列化的配置。 RedisTemplate 配置类 Configuration public class RedisConfig {Beanpublic …

OpenGL系列(五)纹理贴图

概述 OpenGL纹理是一种在三维图形中应用纹理映射的技术。纹理是一张图像&#xff0c;可以应用到三维模型的表面上&#xff0c;从而使得模型看起来更加真实和具有细节。通过纹理映射&#xff0c;可以将图像的像素值与三维模型的顶点进行匹配&#xff0c;从而为模型的表面增加细节…

Java并发编程之由于静态变量错误使用可能导致的并发问题

Java并发编程之由于静态变量错误使用可能导致的并发问题 1.1 前言1.2 业务背景1.3 问题分析1.4 为什么呢&#xff1f;1.5 修复方案2 演示示例源码下载 1.1 前言 我们知道在 Java 后端服务开发中&#xff0c;如果出现并发问题一般都是由于在多个线程中使用了共享的变量导致的。…

JVM相关:Java内存区域

Java 虚拟机&#xff08;JVM)在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。 Java运行时数据区域是指Java虚拟机&#xff08;JVM&#xff09;在执行Java程序时&#xff0c;为了管理内存而划分的几个不同作用域。这些区域各自承担特定的任务&#xff0c…

Day23 自定义对话框服务

​本章节实现了,自定义对话框服务的功能 当现有的对话框服务无法满足特定需求时,我们可以采用自定义对话框的解决方案,以更好地满足一些特殊需求。 一.自定义对话框主机服务步骤 在Models 文件夹中,再建立一个 IDialogHostService 接口类,继承自 IDialogService 对话框服…