当前位置: 首页 > news >正文

docker 搭建gitlab 恢复和备份

最近一直在折腾gitlab 代码管理系统
采用docker搭建 镜像网址 https://hub.docker.com/
技术交流 http://idea.coderyj.com/

1.因为我要恢复的版本是12.0.9的所有我就下载了docker-ce的12.0.9的镜像

  • 1.下载镜像
docker pull gitlab/gitlab-ce:12.0.9-ce.0
  • 2.安装
docker run -itd -p 9980:80 -p 9922:22 -u root -v $PWD/data/log:/var/log/gitlab -v $PWD/data/opt:/var/opt/gitlab -v $PWD/data/etc:/etc/gitlab --privileged=true --name=gitlab --restart always gitlab/gitlab-ce:12.0.9-ce.0
# 放在/data/gitlab 目录下面了 里面的子目录它会自己创建
docker run -itd -p 9980:80 -p 9922:22 -u root -v /data/gitlab/log:/var/log/gitlab -v /data/gitlab/opt:/var/opt/gitlab -v /data/gitlab/etc:/etc/gitlab --privileged=true --name=gitlab --restart always gitlab/gitlab-ce:12.0.9-ce.0
  • 3.漫长等待大概3-5分钟后就能访问了
  • 查看状态
docker exec gitlab gitlab-ctl status

在这里插入图片描述

  • 4.访问 输入 ip:9980 就OK了

2.恢复代码以及用户-准备3个文件 恢复的版本必须和安装的版本保持一致

在这里插入图片描述

1.数据库+代码文件 gitlab_backup.tar
2.配置文件 gitlab.rb
3.数据库秘钥,用于解密 gitlab-secrets.json

  • 1.将 gitlab._backup.tar 文件上传到 /data/gitlab/opt/backups 目录下
  • 2.将 gitlab.rb, gitlab-secrets.json 文件上传到 /data/gitlab/etc 目录下
  • 3.开始恢复
# 进入容器
docker exec -it  gitlab   /bin/bash
# 关闭数据库连接
gitlab-ctl stop unicorn 
gitlab-ctl stop sidekiq
# 进入备份目录 `/var/opt/gitlab/backups/`
cd /var/opt/gitlab/backups/
# 开始恢复 注意文件名不要 后面的 gitlab这些
gitlab-rake gitlab:backup:restore BACKUP=1703008988_2023_12_20_12.0.9
  • 1.漫长等待 中间输入 yes 覆盖就OK了
  • 2.修改配置文件
cd /etc/gitlab
vi gitlab.rb
# 将  external_url 'http://0.0.0.0:80
external_url 'http://0.0.0.0:80'

在这里插入图片描述

  • 4.恢复完成

3.备份

# 进入容器
docker exec -it  gitlab   /bin/bash
# 备份命令
gitlab-rake gitlab:backup:create
# 备份目录
docker 内部目录 /var/opt/gitlab/backups
宿主机目录  /data/gitlab/opt/backups
# 复制docker内部文件到宿主机目录 这一步是挂在在宿主机上可以不操作
docker container  cp  容器:/var/opt/gitlab/backups/备份文件    /var/opt/gitlab/backups/

备份的时候不会备份 gitlab.rb, gitlab-secrets.json 需要我们手动保存

  • 备份脚本
#! /bin/sh### BEGIN INIT INFO
# Provides:          gitlab_back.sh
# Required-start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the sql_back.sh daemon
# Description:       starts sql_back.sh using start-stop-daemon
### END INIT INFO# 遇到错误就退出
set -e
docker exec  gitlab  /bin/bash  -c "gitlab-rake gitlab:backup:create"path=/data/gitlab/opt/backups#删除100天之前的文件
find $path -name "*.tar"   -mtime +30 -exec rm  {} \;

4.一键脚本 - 备用

#安装docker
yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce*
systemctl start docker
#下载gitlab images
docker pull gitlab/gitlab-ce:12.0.9-ce.0
#安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#启动
#/usr/local/docker/gitlab  在此路径下放置docker-compose.yml
cd  /usr/local/docker/gitlab
docker-compose up -d
#恢复开始
docker exec  $(docker ps | grep gitlab/gitlab-ce:12.0.9-ce.0|awk '{print $1}')   /bin/bash  -c "
gitlab-ctl stop unicorn;\
gitlab-ctl stop sidekiq;\
gitlab-rake gitlab:backup:restore  force=yes  BACKUP=$(ls /var/opt/gitlab/backups/ |grep _gitlab |awk -F "_gitlab" '{print $1}');\
gitlab-ctl start;"

相关文章:

docker 搭建gitlab 恢复和备份

最近一直在折腾gitlab 代码管理系统 采用docker搭建 镜像网址 https://hub.docker.com/ 技术交流 http://idea.coderyj.com/ 1.因为我要恢复的版本是12.0.9的所有我就下载了docker-ce的12.0.9的镜像 1.下载镜像 docker pull gitlab/gitlab-ce:12.0.9-ce.02.安装 docker run …...

尚硅谷2023版Promise教程从入门到实战(讲师:任安萍)

一、前言:为什么会出现Promise? Promise的重要性我认为没有必要多讲,概括起来说就是五个字:必!须!得!掌!握!。 而且还要掌握透彻,在实际的使用中,有非常多…...

【SpringBoot】分组校验和自定义校验

分组检验 参数校验时,我们希望不同的方法参数校验规则不同,这时就需要分组校验。 public class Category {NotNull(groups Update.class)private Integer id;//主键IDNotEmptyprivate String categoryName;//分类名称// NotEmpty(groups {Add.class,…...

19、BLIP-2

简介 github 通过利用预训练的视觉模型和语言模型来提升多模态效果和降低训练成本,预训练的视觉模型能够提供高质量的视觉表征,预训练的语言模型则提供了强大的语言生成能力。 实现过程 为了弥合模态差距,提出了一个分两个阶段预训练的 Qu…...

【微服务核心】MyBatis Plus

文章目录 1. 简介2. 入门使用3. 核心功能3.1 CRUD 接口3.1.1 Mapper CRUD 接口3.1.2 Service CRUD 接口 3.2 条件构造器3.3 分页插件3.4 Mybatis-Plus 注解 4. 拓展4.1 逻辑删除4.2 MybatisX快速开发插件 5. 插件5.1 [分页插件](#page)5.2 乐观锁插件 1. 简介 MyBatis Plus&am…...

什么是Alibaba Cloud Linux?完全兼容CentOS,详细介绍

Alibaba Cloud Linux是基于龙蜥社区OpenAnolis龙蜥操作系统Anolis OS的阿里云发行版,针对阿里云服务器ECS做了大量深度优化,Alibaba Cloud Linux由阿里云官方免费提供长期支持和维护LTS,Alibaba Cloud Linux完全兼容CentOS/RHEL生态和操作方式…...

Spark---RDD算子(单值类型Value)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…...

数据库中的MVCC--多版本并发控制

一、前言 1、定义:MVCC(Multi-Version Concurrency Control),多版本并发控制,主要为了提高数据库 的并发性能。是MySQL的InnoDB存储引擎实现隔离级别的一种具体方式。用于实现提交读和可重 复读这两种隔离级别。 2…...

wps将姓名处理格式为:姓**

1.打开wps,在要处理数据右侧一个单元格 输入公式:LEFT(A1,1)&"**",然后回车 2.按住ctrl和处理好的数据的右下角小方框,往下拖动即可生成格式为:姓** 格式的数据 3.复制生成的数据,右键选择 “…...

2023年我的编程之旅:技术演进与自我成长的纪录

2023年我的编程之旅:技术演进与自我成长的纪录 转眼间,2023年已经悄然走到了尾声。这一年,对我来说既是挑战也是机遇的一年。我的编程之旅如同坐上了一辆高速前进的列车,从新技术的学习探索到项目实战的沉浸经历,再到…...

好用免费的WAF---如何安装雷池社区版

什么是雷池​ 雷池(SafeLine)是长亭科技耗时近 10 年倾情打造的 WAF,核心检测能力由智能语义分析算法驱动。 Slogan: 不让黑客越雷池半步。 什么是 WAF​ WAF 是 Web Application Firewall 的缩写,也被称为 Web 应用防火墙。 …...

看似 bug 又非 bug 的一个 bug

最近的一个项目中&#xff0c;对于 CSS 的一些属性一些选择符可以大胆使用&#xff0c;然后很意外得撞上一个 iOS 中 Safari 的一个解析问题。 <Component style{{height: "calc(100vh - 46px)"}}>一个组件</Component> 这样的一段代码很简单&#xff…...

mysql常见问题

批量导入SQL 数据库结构 数据时&#xff0c;如果数据是批量插入的话会报错&#xff1a;2006 - MySQL server has gone away。 解决办法&#xff1a;找到你的 mysql 目录下的 my.ini 配置文件&#xff0c;加入以下代码 max_allowed_packet500M wait_timeout288000 interactiv…...

QT上位机开发(串口界面设计)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 如果上位机要和嵌入式设备进行打交道的话&#xff0c;那么串口可能就是我们遇到的第一个硬件设备。串口的物理接线很简单&#xff0c;基本上就是收…...

k8s之pod

1、pod&#xff1a;k8s中最小的资源管理组件&#xff0c;最小化运行容器化应用的资源管理对象 &#xff08;1&#xff09;pod是一个抽象的概念&#xff0c;可以理解为一个或者多个容器化应用的集合 &#xff08;2&#xff09;一个pod中运行一个容器是最常用的方式 &#xff…...

第二百四十三回 再分享一个Json工具

文章目录 1. 概念介绍2. 分析与比较2.1 分析问题2.2 比较差异 3. 使用方法4. 内容总结 我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容&#xff0c;本章回中将再 分享一个Json插件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我…...

electron自定义菜单

创建menu.js const { app, Menu } require("electron"); const createMenu () > {const menu [{label: "菜单",submenu: [{label: "新增",click: () > {},}, ],},{label: "关于",submenu: [{label: "新增",click:…...

变量和函数提升(js的问题)

• js解释执行 • 变量和函数提升 变量声明提前&#xff0c;函数声明提前 • 变量声明提前&#xff1a;值停留在本地 • 函数声明提前&#xff1a;整个函数体提前 如果是var赋值声明的函数&#xff0c;变量提前&#xff0c;函数体停留在本地 1、变量提…...

Excel 插件:ASAP Utilities Crack

ASAP Utilities是一款功能强大的 Excel 插件&#xff0c;填补了 Excel 的空白。在过去的 20 年里&#xff0c;我们的加载项已经发展成为世界上最受欢迎的 Microsoft Excel 加载项之一。 ASAP Utilities 中的功能数量&#xff08;300 多个&#xff09;可能看起来有点令人眼花缭乱…...

hyperf 十九 数据库 二 模型

教程&#xff1a;Hyperf 一、命令行 symfony/console-CSDN博客 hypery 十一、命令行-CSDN博客 hyperf console 执行-CSDN博客 根据之前应该能了解到命令行的基本实现&#xff0c;和hyperf中命令行的定义。 1.1 命令初始化 hyperf.php中系统初始化中通过ApplicationFacto…...

使用python快速开发与PDF文档对话的Gemini聊天机器人

检索增强生成(Retrieval-augmented generation&#xff0c;RAG)使得我们可以让大型语言模型(LLMs)访问外部知识库数据(如pdf,word、text等)&#xff0c;从而让人们可以更加方便的通过LLM来学习外部数据的知识。今天我们将利用之前学习到的RAG方法&#xff0c;谷歌Gemini模型和l…...

Spring Cloud Gateway集成Knife4j

1、前提 网关路由能够正常工作。 案例 基于 Spring Cloud Gateway Nacos 实现动态路由拓展的参考地址&#xff1a;Spring Cloud Gateway Nacos 实现动态路由 详细官网案例&#xff1a;https://doc.xiaominfo.com/docs/middleware-sources/spring-cloud-gateway/spring-gatewa…...

Hive10_窗口函数

窗口函数&#xff08;开窗函数&#xff09; 1 相关函数说明 普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值&#xff0c;而开窗函数则可为窗口中的每行都返回一个值。简单理解&#xff0c;就是对查询的结果多出一列…...

ipvsadm命令详解

ipvsadm命令详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨一个在Linux系统网络管理中极具威力的命令——ipvsadm&#xff0c;通过详细解析…...

zabbix通过自动发现-配置监控项、触发器(小白教程)

自动发现配置参考链接&#xff08;不小白&#xff0c;不友好&#xff09; zabbix-get介绍 1配置 zabbix server&#xff1a;版本7&#xff08;不影响&#xff09;,IP地址&#xff1a;192.168.0.60zabbix agent&#xff1a;版本agent1&#xff08;不影响&#xff09;&#xff…...

Dockerfile文件介绍

0 Preface/Foreword 0.1 Docker docker用来自制镜像。 1 Introduction 1.1 Dockerfile Dockerfile是用于定义Docker镜像的构建过程&#xff0c;它包含一系列的指令用于安装 软件包、配置环境等操作。 Dockerfile文件的格式如下&#xff1a; FROM base_image RUN apt-get up…...

【PHP】函数array_reduce()使用场景

目录 1.计算数组中所有元素的和 2.计算数组中所有元素的乘积 3.将多个字符串连接在一起 4.对数组中的元素进行逻辑计算 5.取出第一个满足条件的数组&#xff0c;筛选有用数组 6.array_reduce()函数的基本语法&#xff1a; array_reduce 函数通常用于对数组中的元素进行累…...

软件测试基础理论学习-软件测试方法论

软件测试方法论 软件测试的方法应该建立在不同的软件测试类型上&#xff0c;不同的测试类型会存在不同的方法。本文以软件测试中常见的黑盒测试为例&#xff0c;简述常见软件测试方法。 黑盒测试用例设计方法包括等价类划分法、边界值分析法、因果图法、判定表驱动法、正交试…...

Unity 关于点击不同物品移动并触发不同事件

关于点击不同物品触发不同事件 可以实现在界面中点击不同的物体&#xff0c;移动到物品附近位置&#xff0c;然后触发对应的事件。 首先建立一个公共管理的类&#xff1a; public class InteractionObject : MonoBehaviour {private NavMeshAgent PlayerAgent;private bool …...

c++IO库详细介绍

文章目录 前言c IO 类简介1. iostream库iostream 类标准IO对象 2. fstream库fstream 类 3. stringstream库stringstream 类 格式化和控制错误处理 IO对象无拷贝或赋值IO条件状态主要的状态标志检查流状态控制流状态示例 管理输出缓冲主要操作示例 文件输入输出使用文件流对象示…...

做桂林网站的图片大全/seo关键词有话要多少钱

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库&#xff0c;支持大量的维度数组与矩阵运算&#xff0c;此外也针对数组运算提供大量的数学函数库。 umPy 是一个运行速度非常快的数学库&#xff0c;主要用于数组计算&#xff0c;包含&#xff1a; 一个强大的N维数组对…...

罗源网站建设/山东建站管理系统

&#xfeff;&#xfeff;近期最终把effectvie C细致的阅读了一边&#xff0c;非常惊叹C的威力与魅力。近期会把近期的读书心得与读书笔记记于此。必备查找使用&#xff0c;假设总结有什么不当之处&#xff0c;欢迎批评指正&#xff1a; 如今仅仅列出框架。近期会尽快填充完整&…...

外贸网站怎么做会吸引眼球/河北网站推广公司

第三章 哈希算法 哈希算法又称散列函数算法&#xff0c;是一种查找算法。简单来说&#xff0c;就是把一些复杂的数据&#xff0c;通过某种函数映射关系&#xff0c;映射成更加容易查找的方式。但是这种映射关系有可能会发生多个关键字映射到同一地址的现象&#xff0c;我们称之…...

乐山网站制作公司/百度推广怎么赚钱

诀窍1 酒桌上虽然“感情深&#xff0c;一口闷&#xff1b;感情浅&#xff0c;舔一舔”但喝酒的时候决不能把这句话挂在嘴上。 诀窍2 韬光养晦&#xff0c;厚积薄发&#xff0c;切不可一上酒桌就充大。 诀窍3 领导相互喝完才轮到自己敬。 诀窍4 可以多人敬一人&#xff0c;决不可…...

wordpress做的网站/邢台市seo服务

视频链接 一.:课程说明(1~1)...

亚马逊服务器做影视网站/推广联系方式

大家好&#xff0c;我是华为云的产品经理 恒少&#xff1a; 作为布道师和产品经理&#xff0c;出差各地接触客户是常态&#xff0c;经常和华为云的客户交流、布道、技术沙龙&#xff0c;但是线下交流&#xff0c;覆盖的用户总还是少数。 我希望可以借线上的平台&#xff0c;和用…...