Windows的docker中安装gitlab
一.Windows的docker中安装gitlab
1.通过阿里云拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh
2.在本地创建备份数据的目录
mkdir -p D:home/software/gitlab/etc
mkdir -p D:home/software/gitlab/logs
mkdir -p D:home/software/gitlab/data
3.执行docker配置与启动
docker run --detach --publish 8443:443 --publish 8090:80 --publish 8022:22 --name gitlab --restart always --hostname 192.168.1.108 -v D:\home/software/gitlab/etc:/etc/gitlab -v D:\home/software/gitlab/logs:/var/log/gitlab -v D:\home/software/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh
以上命令注释
# 使用 docker run 命令启动一个 Docker 容器 docker run # 以分离(后台)模式运行容器,容器将在后台运行而不会占用当前终端 --detach # 将容器内的 443 端口映射到主机的 8443 端口,可用于访问容器内服务的 HTTPS 服务 --publish 8443:443 # 将容器内的 80 端口映射到主机的 8090 端口,可用于访问容器内服务的 HTTP 服务 --publish 8090:80 # 将容器内的 22 端口映射到主机的 8022 端口,可用于通过 SSH 访问容器 --publish 8022:22 # 为容器指定名称为 gitlab,方便后续对容器进行管理和操作 --name gitlab # 当 Docker 守护进程启动时,自动重启该容器,确保容器的高可用性 --restart always # 为容器指定主机名,这里是 192.168.1.108 --hostname 192.168.1.108 # 将主机的 D:\home/software/gitlab/etc 目录挂载到容器内的 /etc/gitlab 目录,用于存储 GitLab 的配置文件 -v D:\home/software/gitlab/etc:/etc/gitlab # 将主机的 D:\home/software/gitlab/logs 目录挂载到容器内的 /var/log/gitlab 目录,用于存储 GitLab 的日志文件 -v D:\home/software/gitlab/logs:/var/log/gitlab # 将主机的 D:\home/software/gitlab/data 目录挂载到容器内的 /var/opt/gitlab 目录,用于存储 GitLab 的数据文件 -v D:\home/software/gitlab/data:/var/opt/gitlab # 将主机的 /etc/localtime 目录挂载到容器内的 /etc/localtime 目录,并设置为只读,使容器内的时间与主机时间同步 -v /etc/localtime:/etc/localtime:ro # 赋予容器特权,容器内的进程将拥有一些额外的权限,但可能会带来安全风险,需谨慎使用 --privileged=true # 指定要使用的 Docker 镜像,这里使用的是 registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 镜像 registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh
4.在同一局域网内网页中执行如下网址即可登录gitlab客户端
192.168.1.108:8090
二.手动备份gitlab数据方法
1.gitlab中的源码备份非常重要;
2.对 gitlab 进行备份是创建一个包含所有库和附件的归档文件;
3.对备份的恢复只能恢复到与备份时的 gitlab 相同的版本;
4.将 gitlab 迁移到另一台服务器上的最佳方法就是通过备份和还原。
1.使用docker exec命令进入 GitLab 容器
docker exec -it <gitlab_container_name> /bin/bash
2.在 GitLab 容器内,执行备份命令
gitlab-rake gitlab:backup:create
3.在宿主机内,执行备份命令
docker exec -it <gitlab_container_name> gitlab-rake gitlab:backup:create
4.备份文件将存储在容器内的/var/opt/gitlab/backups目录中,文件名类似于<timestamp>_gitlab_backup.tar,其中<timestamp>是当前的时间戳。
三.恢复备份
1.删除一个gitlab项目(测试用)
2.停止gitlab,执行如下命令
root@172:/# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
root@172:/# gitlab-ctl stop sidekiq
ok: down: sidekiq: 1s, normally up
root@172:/#
3.确认是否停止,执行如下命令(最后两行的down即说明已停止)
root@172:/# gitlab-ctl status
run: gitlab-workhorse: (pid 246) 27978s; run: log: (pid 239) 27978s
run: logrotate: (pid 18723) 2779s; run: log: (pid 242) 27978s
run: nginx: (pid 248) 27978s; run: log: (pid 241) 27978s
run: postgresql: (pid 251) 27978s; run: log: (pid 244) 27978s
run: redis: (pid 252) 27978s; run: log: (pid 245) 27978s
down: sidekiq: 166s, normally up; run: log: (pid 243) 27978s
down: unicorn: 180s, normally up; run: log: (pid 240) 27978s
root@172:/#
4.接下来执行 gitlab 恢复操作,文件名只要数字部分就可以了
gitlab-rake gitlab:backup:restore BACKUP=备份文件名
root@172:/# gitlab-rake gitlab:backup:restore BACKUP=1737450440_gitlab_backup
The specified backup doesn't exist!
root@172:/#
5.重新启动gitlab
root@172:/# gitlab-ctl restart
ok: run: gitlab-workhorse: (pid 52065) 0s
ok: run: logrotate: (pid 52073) 1s
ok: run: nginx: (pid 52079) 0s
ok: run: postgresql: (pid 52101) 1s
ok: run: redis: (pid 52109) 0s
ok: run: sidekiq: (pid 52113) 0s
ok: run: unicorn: (pid 52118) 1s
root@172:/#
6.确认是否启动
root@172:/# gitlab-ctl status
run: gitlab-workhorse: (pid 52065) 61s; run: log: (pid 239) 28709s
run: logrotate: (pid 52073) 61s; run: log: (pid 242) 28709s
run: nginx: (pid 52079) 60s; run: log: (pid 241) 28709s
run: postgresql: (pid 52101) 60s; run: log: (pid 244) 28709s
run: redis: (pid 52109) 59s; run: log: (pid 245) 28709s
run: sidekiq: (pid 52113) 59s; run: log: (pid 243) 28709s
run: unicorn: (pid 52118) 59s; run: log: (pid 240) 28709s
root@172:/#
7. 恢复完成
四.自动备份gitlab数据方法
1.在宿主机内,创建批处理文件, gitlab_backup_sunday.bat
@echo off
setlocalREM 设置 Gitlab 容器名称
set GITLAB_CONTAINER_NAME=<gitlab_container_name>REM 设置备份日志文件路径
set LOG_FILE=D:\home\software\gitlab\data\backups\backup_log.txtREM 开始备份操作
echo Starting Gitlab backup at %DATE% %TIME% >> %LOG_FILE%REM 以下是核心备份命令
docker exec -it %GITLAB_CONTAINER_NAME% gitlab-rake gitlab:backup:createREM 结束备份操作
echo Backup completed at %DATE% %TIME% >> %LOG_FILE%endlocal
2.使用方法
- 将上述代码保存为一个
.bat
文件,例如gitlab_backup_sunday.bat
。 - 打开 Windows 的 “任务计划程序”:
- 搜索并打开 “任务计划程序”。
- 在 “任务计划程序” 中,点击 “创建任务”。
- 在 “常规” 选项卡中,输入任务的名称,如 “Gitlab 周日备份任务”,并选择一个具有足够权限的用户账户(通常是管理员账户)。
- 在 “触发器” 选项卡中,点击 “新建”,设置触发器的详细信息:
- 开始任务设置为 “按预定计划”。
- 选择 “每周”,在 “周日” 上打勾,将开始时间设置为 02:00:00。
- 在 “操作” 选项卡中,点击 “新建”,选择 “启动程序”,并浏览找到你保存的
gitlab_backup_sunday.bat
脚本
五.手动本地备份gitlab镜像
在 Windows 上使用 Docker 时,每个 Docker 镜像实际上存储在 Docker 的存储系统中,其具体位置取决于 Docker 的安装和配置,但通常情况下,你不需要直接操作该位置,因为 Docker 会自动管理镜像的存储和使用。以下是一些有关 Docker 镜像在 Windows 上存储的详细信息:
1、Docker 存储位置的一般情况
Docker 在 Windows 上使用 Windows 容器时,镜像存储在 Windows 的文件系统中,但位置通常隐藏在 Docker 的内部存储结构中。
对于 Docker Desktop,它使用一个名为 vhdx 的虚拟硬盘文件(Hyper-V 技术)来存储镜像、容器和其他 Docker 相关数据。这个文件通常位于 C:\ProgramData\DockerDesktop\vm-data\DockerDesktop.vhdx。
2、查看 Docker 镜像信息
你可以使用 Docker 命令行工具来查看和管理镜像信息,而无需直接访问存储位置。例如:
查看所有本地 Docker 镜像:docker images
这个命令将列出所有已下载到本地的 Docker 镜像,包括镜像的仓库名、标签、镜像 ID、创建时间和大小等信息。
3、存储位置的限制和注意事项
直接操作 Docker 的存储位置可能会导致 Docker 出现不可预测的问题,如数据损坏或丢失,因为 Docker 期望它的存储结构保持完整。
如果你需要备份或迁移 Docker 镜像,可以使用 Docker 提供的命令和工具,而不是直接操作存储位置。
1.保存一个镜像为一个 .tar 文件
docker save -o <output_file.tar> <image_name:tag>
这个命令会将指定的镜像保存为一个 .tar 文件,你可以将其存储在 Windows 的任何位置。
2.加载一个已保存的镜像
docker load -i <input_file.tar>
这个命令可以将之前保存的 .tar 文件加载回 Docker 环境。
相关文章:
Windows的docker中安装gitlab
一.Windows的docker中安装gitlab 1.通过阿里云拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 2.在本地创建备份数据的目录 mkdir -p D:home/software/gitlab/etc mkdir -p D:home/software/gitlab/logs mkdir -p D:home/software/gitlab/dat…...
计算机网络 (58)无线局域网WLAN
前言 无线局域网WLAN(Wireless Local Area Network)是一种利用无线通信技术将计算机设备互联起来,构成可以互相通信和实现资源共享的网络体系。 一、定义与特点 定义: WLAN通过无线信道代替有线传输介质连接两个或多个设备形成一个…...
LeetCode: 45.跳跃游戏II
跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode: 45.跳跃游戏II 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示…...
Blazo-Blazor Web App项目结构
让我们还是从创建项目开始,来一起了解下Blazor Web App的项目情况 创建项目 呈现方式 这里我们可以看到需要选择项目的呈现方式,有以上四种呈现方式 ● WebAssembly ● Server ● Auto(Server and WebAssembly) ● None 纯静态界面静态SSR呈现方式 WebAs…...
汇编语法及相关指令
1.汇编指令的基本格式: <opcode>{<cond>}{s} <Rd>, <Rn>, <shifter_operand> opcode:指令的功能码,用来表示当前指令的作用 cond:条件码,需要在指令执行之前先判断条件受否满足&…...
数据结构——堆(介绍,堆的基本操作、堆排序)
我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研) 记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结网上借鉴࿰…...
linux+docker+nacos+mysql部署
一、下载 docker pull mysql:5.7 docker pull nacos/nacos-server:v2.2.2 docker images 二、mysql部署 1、创建目录存储数据信息 mkdir ~/mysql cd ~/mysql 2、运行 MySQL 容器 docker run -id \ -p 3306:3306 \ --name mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/…...
10个非常基础的 Javascript 问题
Javascript是一种用于Web开发的编程语言。JavaScript在网络的客户端上运行。 根据MDN,JavaScript(通常缩写为JS)是一种轻量级的,解释性的,面向对象的语言,具有一流的功能,并且最著名的是Web页面…...
SCP收容物221~225
注 :此文接SCP收容物211~215,本文只供开玩笑 ,与steve_gqq_MC合作 --------------------------------------------------------------------------------------------------------------------------------- 目录 scp-221 scp-222 scp-223 scp-224 scp-225 s…...
基于迁移学习的ResNet50模型实现石榴病害数据集多分类图片预测
完整源码项目包获取→点击文章末尾名片! 番石榴病害数据集 背景描述 番石榴 (Psidium guajava) 是南亚的主要作物,尤其是在孟加拉国。它富含维生素 C 和纤维,支持区域经济和营养。不幸的是,番石榴生产受到降…...
网络(三) 协议
目录 1. IP协议; 2. 以太网协议; 3. DNS协议, ICMP协议, NAT技术. 1. IP协议: 1.1 介绍: 网际互连协议, 网络层是进行数据真正传输的一层, 进行数据从一个主机传输到另一个主机. 网络层可以将数据主机进行传送, 那么传输层保证数据可靠性, 一起就是TCP/IP协议. 路径选择: 确…...
【mptcp】ubuntu18.04和MT7981搭建mptcp测试环境操作说明
目录 安装ubuntu18.04,可以使用虚拟机安装... 2 点击安装VMware Tool 2 更新ubuntu18.04源... 4 安装ifconfig指令工具包... 5 安装vim工具包... 5...
递归的本质
字节面试题叠罗汉,很遗憾没想出来,看了答案挺巧妙的,但是居然是个案例题。。。 复习一下递归的本质 正面解决问题 利用子问题来解决 可以通过规约推导的,基本可以用递归解决! 在写这道算法题时,我想规…...
如何使用tmux !
在tmux的界面按住shift,就可以和普通linux界面一样!!!!!!!! 单击右键可以复制粘贴,滚动鼠标可以上下翻页!!!!…...
【Vim Masterclass 笔记25】S10L45:Vim 多窗口的常用操作方法及相关注意事项
文章目录 S10L45 Working with Multiple Windows1 水平分割窗口2 在水平分割的新窗口中显示其它文件内容3 垂直分割窗口4 窗口的关闭5 在同一窗口水平拆分出多个窗口6 关闭其余窗口7 让四个文件呈田字形排列8 光标在多窗口中的定位9 调节子窗口的尺寸大小10 变换子窗口的位置11…...
C语言练习(16)
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第10天早上想再吃时,见只剩一个桃子了…...
【0x0012】HCI_Delete_Stored_Link_Key命令详解
目录 一、命令参数 二、命令格式及参数 2.1. HCI_Delete_Stored_Link_Key 命令格式 2.2. BD_ADDR 2.3. Delete_All 三、生成事件及参数 3.1. HCI_Command_Complete事件 3.2. Status 3.3. Num_Keys_Deleted 四、命令执行流程 4.1. 命令发送阶段 4.2. 控制器处理阶段…...
学习ASP.NET Core的身份认证(基于JwtBearer的身份认证10)
基于Cookie传递token的主要思路是通过用户身份验证后,将生成的token保存到Response.Cookies返回客户端,后续客户端访问服务接口时会自动携带Cookie到服务端以便验证身份。之前一直搞不清楚的是服务端程序如何从Cookie读取token进行认证(一般都…...
应用层协议 HTTP 讲解实战:从0实现HTTP 服务器
🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 HTTP 协议 🦋 认识 URL🦋 urlencode 和 urldecode 二:🔥 HTTP 协议请求与响应格式 🦋 HTTP 请求…...
Linux权限管理:从用户切换到文件权限
在Linux系统中,权限管理是确保系统安全和资源合理分配的核心机制。它通过用户和用户组的管理、文件权限的设置以及特殊权限的使用,实现了对系统资源的精细控制。 一、用户切换:su 和 sudo 1. 用户切换命令 su su(switch user&a…...
PyQt5超详细教程终篇
PyQt5超详细教程 前言 接: [【Python篇】PyQt5 超详细教程——由入门到精通(序篇)](【Python篇】PyQt5 超详细教程——由入门到精通(序篇)-CSDN博客) 建议把代码复制到pycahrm等IDE上面看实际效果,方便理…...
Alibaba Spring Cloud 四 Seata 的核心组件:TC
Seata 的 Transaction Coordinator (TC) 是分布式事务架构中的核心组件之一,它负责管理全局事务的生命周期,包括事务的创建、状态维护以及协调各分支事务的提交和回滚。以下是有关 TC 的详细解析及其配置和使用方法: 1. TC 的核心功能 全局事…...
机器学习-线性回归(简单回归、多元回归)
这一篇文章,我们主要来理解一下,什么是线性回归中的简单回归和多元回归,顺便掌握一下特征向量的概念。 一、简单回归 简单回归是线性回归的一种最基本形式,它用于研究**一个自变量(输入)与一个因变量&…...
Java如何向http/https接口发出请求
用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一个工具类 import javax.net.ssl.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Outpu…...
three.js+WebGL踩坑经验合集(1):THREE.Line无故消失的元凶
在项目开发过程中,笔者两次遇到同事的一个提问,我场景中的Line在相机旋转到某些角度或者移动到某些位置的时候会无故消失。由于业务场景复杂,所以这两位同事都是先花费了大量时间排查业务问题,然后才找我求助。这个问题抽象出来的…...
【ROS】RViz2源码分析(四):初始化、启动
【ROS】郭老二博文之:ROS目录 1、简述 RViz2在main函数中,首先注册日志处理函数; 将 RCLCPP_DEBUG 等日志记录函数,通过 rviz_common::set_logging_handlers() 注册到 rviz_common 中。然后,创建界面类 rviz_common::VisualizerApp,并执行初始化 vapp.init(argc, argv)…...
【MySQL】 库的操作
欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】 库的操作 发布时间:2025.1.23 隶属专栏:MySQL 目录 库的创建语法使用 编码规则认识编码集查看数据库默认的编码集和校验集查看数据库支持的编码集和校验集指定编码创建数据库验证不…...
豆包MarsCode 蛇年编程大作战 | 高效开发“蛇年运势预测系统”
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 豆包MarsCode 蛇年编程大作战 | 🐍 蛇年运势预测 在线体验地址:蛇年…...
新能源汽车充电桩选型以及安装应用
摘要:随着当前经济的不断发展,国家的科技也有了飞速的进步,传统的燃油汽车已经不能适应当前社会的发展,不仅对能源造成巨大的消耗,还对环境造成了污染,当前一种新型的交通运输工具正在占领汽车市场。在环境问题和能源问题愈发严重的当今社会,节能减排已经成为全世界的共同课题,…...
docker Ubuntu实战
目录 Ubuntu系统环境说明 一、如何安装docker 二、发布.netcore应用到docker中 三、查看docker信息 Ubuntu系统环境说明 cat /etc/os-release PRETTY_NAME"Ubuntu 22.04.5 LTS" NAME"Ubuntu" VERSION_ID"22.04" VERSION"22.04.5 LTS (…...
w-form-select.vue(自定义下拉框组件)(与后端字段直接相关性)
文章目录 1、w-form-select.vue 组件中每个属性的含义2、实例3、源代码 1、w-form-select.vue 组件中每个属性的含义 好的,我们来详细解释 w-form-select.vue 组件中每个属性的含义,并用表格列出它们是否与后端字段直接相关: 属性解释表格&…...
深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能
在当下互联网技术飞速发展的浪潮中,Nginx 凭借其轻量级、高性能的特性,在 Web 服务器和反向代理服务器领域脱颖而出,成为众多开发者和运维工程师的得力工具。它不仅能高效处理静态资源,在负载均衡、反向代理等方面也表现出色。然而…...
iOS开发设计模式篇第二篇MVVM设计模式
目录 一、什么是MVVM 二、MVVM 的主要特点 三、MVVM 的架构图 四、MVVM 与其他模式的对比 五、如何在iOS中实现MVVM 1.Model 2.ViewModel 3.View (ViewController) 4.双向绑定 5.文中完整的代码地址 六、MVVM 的优缺点 1.优点 2.缺点 七、MVVM 的应用场景 八、结…...
kettle与Springboot的集成方法,完整支持大数据组件
目录 概要整体架构流程技术名词解释技术细节小结 概要 在现代数据处理和ETL(提取、转换、加载)流程中,Kettle(Pentaho Data Integration, PDI)作为一种强大的开源ETL工具,被广泛应用于各种数据处理场景。…...
详解:TCP/IP五层(四层)协议模型
一.五层(四层)模型 1.概念 TCP/IP协议模型分为五层:物理层、数据链路层、网络层、传输层和应用层。这五层每一层都依赖于其下一层给它提供的网络去实现需求。 1)物理层:这是最基本的一层,也是最接近硬件…...
(七)Mapbox GL JS 表达式初识
以下是关于如何在 Mapbox GL JS 中使用表达式的详细讲解和代码示例。 文章目录 什么是 Mapbox GL JS 表达式?使用场景步骤1. 初始化地图2. 解释表达式 总结 什么是 Mapbox GL JS 表达式? Mapbox GL JS 表达式是一种灵活的样式语言,允许你在 …...
阿里巴巴开发规范手册MySQL
1、MySQL 数据库 1.1、建表规约 1) 表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是,0 表示否)。 说明:任何字段如果为非负数,必须是 unsigned。 注…...
SpringCloud微服务Gateway网关简单集成Sentinel
Sentinel是阿里巴巴开源的一款面向分布式服务架构的轻量级流量控制、熔断降级组件。Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助保护服务的稳定性。 官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html …...
Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到
Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到 这次在windows的WSL2中遇到了一个非常奇怪的错误,就是 CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find BLAS (missing: BLAS_LIBRAR…...
私有IP、VLAN和VPC,分别适合哪些场景你知道吗?
当我们在云中构建应用程序,尤其是使用了第三方云服务商的服务并且我们无法完全掌控后端的每部分时,安全性可能是最需要关注的地方。但这是一项充满挑战的工作,因为保护应用程序的方法实在是太多了!为了改善安全性,开发…...
【学术会议论文投稿】深度解码:机器学习与深度学习的界限与交融
目录 一、定义与起源:历史长河中的两条轨迹 二、原理差异:从浅层到深层的跨越 三、代码解析:实战中的机器学习与深度学习 机器学习示例:线性回归 深度学习示例:卷积神经网络(CNN) 四、应用差异:各自领…...
一位前端小白的2024总结
目录 简要 一、迷茫点的解决 (1)前端领域该怎么学? (2)旧技术还需要学吗? (3)我该学些什么? 二、折磨点的解决 (1)学技术成果回报太慢怎么…...
状态模式——C++实现
目录 1. 状态模式简介 2. 代码示例 3. 单例状态对象 4. 状态模式与策略模式的辨析 1. 状态模式简介 状态模式是一种行为型模式。 状态模式的定义:状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。 通俗的说就是一个对象…...
C# 控制打印机:从入门到实践
在开发一些涉及打印功能的应用程序时,使用 C# 控制打印机是一项很实用的技能。这篇文章就来详细介绍下如何在 C# 中实现对打印机的控制。 一、准备工作 安装相关库:在 C# 中操作打印机,我们可以借助System.Drawing.Printing命名空间&#x…...
【一个按钮一个LED】用STM32F030单片机实现苹果充电器的定时装置
文章目录 前言一、要实现的功能1、循环定时2、倒计时3、指示灯提示4、使用场景二、实现方法1、使用方法2、电路设计三、程序代码和成品1.定时中断子程序2.键值处理3.主函数总结前言 笔者前几年买苹果手机、IPAD配的适配器是A1443型号,这种5V1A,USB-A口、小功率的适配器,苹果…...
ansible自动化运维实战--script、unarchive和shell模块(6)
文章目录 一、script模块1.1、功能1.2、常用参数1.3、举例 二、unarchive模块2.1、功能2.2、常用参数2.3、举例 三、shell模块3.1、功能3.2、常用参数3.3、举例 一、script模块 1.1、功能 Ansible 的 script 模块允许你在远程主机上运行本地的脚本文件,其提供了一…...
LLM大模型实践18-评估(上)——存在一个简单的正确答案
准备数据 products_and_category { "电脑和笔记本": [ "TechPro 超极本", "BlueWave 游戏本", "PowerLite Convertible", "TechPro Desktop", "BlueWave Chromebook" ], "智能手机和配件": [ "…...
力扣-数组-704 二分查找
解析 经典二分,重点在于左闭右闭区间约定好后,根据定义更新边界 代码 class Solution { public:int search(vector<int>& nums, int target) {int left 0, right nums.size() - 1;while(left < right){int mid (left right) / 2;if(…...
K8S 快速实战
K8S 核心架构原理: 我们已经知道了 K8S 的核心功能:自动化运维管理多个容器化程序。那么 K8S 怎么做到的呢?这里,我们从宏观架构上来学习 K8S 的设计思想。首先看下图: K8S 是属于主从设备模型(Master-Slave 架构),即有 Master 节点负责核心的调度、管理和运维,Slave…...
C#集合操作优化:高效实现批量添加与删除
在C#中,对集合进行批量操作(如批量添加或删除元素)通常涉及使用集合类型提供的方法和特性,以及可能的循环或LINQ查询来高效地处理大量数据。以下是一些常见的方法和技巧: 批量添加元素 使用集合的AddRange方法&#x…...