docker 误删gitlab文件,另类的删库跑路,如何进行恢复?

devtools/2024/10/24 17:43:05/
  缘起:由于看到linux服务器内存快满了,于是本着责任感,想着清理一下内存,结果在看到docker文件占了20多个G,于是想着,我们就三个容器,为啥这么大,肯定是有诈,于是就一个个排查,于是就把盟友(gitlab)给送进了回收站,为啥送它进去,因为我发现它存在两个,想着肯定是无用,而且还占了2个多G,我还特地删完以后,重新打开gitlab ,发现还是可以打开的,然后就更加信心满满的,直接回收站也永久删除了。

问题发现

在删除一段时间后,我又去重新打开一遍,这一次,上天没在眷顾我,发现打不开了,我去,当时脑子懵懵的,有种眩晕感,哈哈哈,一想到好多代码数据都在,没了可咋办?于是赶紧先截图:
在这里插入图片描述
为啥截图,是因为想着恢复一下,就和windows 一样,就算回收站删掉了,文件也可以恢复。

文件恢复(无用):

(1)去了电脑店,人家说不会linux 文件恢复 ------------------失望了
(2)问了堡塔的官方人员,人家说恢复不了 -------------------绝望了
在这里插入图片描述
当时都有种想跑路的冲动,但想着既然问题出来,就要解决问题,不能当逃兵,哪怕付出再大的代价。

希望曙光

这个时候我发现,我容器gitlab 的目录还是可以打开的,而且数据也还在,gitlab 的数据都存在git-data 中。
在这里插入图片描述
在这里插入图片描述
这就说明一个问题,我当时删掉的可能没包含数据,查了资料,发现docker 管理数据有两种方式:数据卷(Volumes)和 挂载主机目录 (Bind mounts),我们应该是用了第二种方式,所以我当时删掉的应该是gitlab 镜像,但为啥我删掉镜像之后,宝塔那边还显示镜像在,这是我很疑惑的?算了,不管这个了,那既然思路在了,那就重新部署镜像和容器就好了,然后挂载的时候,重新挂载到外部目录中就好了。

说干就干

(1)先下载gitlab镜像:docker pull gitlab/gitlab-ee:16.7.0 这个时候你会发现下载不了,因为这个下载源在国外,所以下载不了。
于是我换了种方式,采用翻墙,去下载下来,然后导入进去。具体的操作也就两个命令,docker pull 和docker save ,可以百度去看看。
(2)创建容器

docker run -d \--hostname 192.168.18.32 \--name gitlab \-p 443:443 -p 33280:80 -p 33322:22 \-v /mnt/meioRaid5/bt/gitlab/etc:/etc/gitlab \-v /mnt/meioRaid5/bt/gitlab/log:/var/log/gitlab \-v /mnt/meioRaid5/bt/gitlab/opt:/var/opt/gitlab \
gitlab:latest

/mnt/meioRaid5/bt/gitlab/etc 和 /mnt/meioRaid5/bt/gitlab/log和 mnt/meioRaid5/bt/gitlab/opt 这三个路径地址就是你外部目录存储数据的目录。只要挂载之后,数据就都会存储到你外部目录中。

解决:

最后打开对应的地址,完美解决,哈哈哈哈,总算松了口气!!!
在这里插入图片描述


http://www.ppmy.cn/devtools/128479.html

相关文章

教育平台的创新实现:Spring Boot技术

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

[蓝桥杯 2018 省 B] 乘积最大-题解

[蓝桥杯 2018 省 B] 乘积最大 题目描述 给定 N N N 个整数 A 1 , A 2 , ⋯ , A N A_1, A_2,\cdots, A_N A1​,A2​,⋯,AN​。请你从中选出 K K K 个数,使其乘积最大。 请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以…

编写Python 自动化安装openGauss 数据库方法和代码 (2)

不断调试,更新,你若有兴趣一起参与 #!/usr/bin/env python3 import os import subprocess import platform import re import socket # 1、检查操作系统版本 def check_system_version(): try: with open(/etc/os-release, r) as f: …

npm install node-sass安装失败

需求:搭建前端开发环境时,npm install报错,错误提示安装node_modules时,node-sass依赖包安装失败,网上找了好久解决方法,大家提示采用淘宝源等方式安装,都失败了了,尝试了很久终于找…

AWS账号的费用结构与使用指南

亚马逊网络服务(AWS)是全球领先的云计算平台,提供各种服务,包括计算、存储、数据库、人工智能等。对于许多新用户来说,在创建AWS账号时,常常会有一个疑问:AWS账号需要费用吗?我们九河…

Maven 的使用:在 IDEA 中配置 Maven 的超详细步骤

一、概述 记录时间 [2024-10-20] Maven 用来管理 Java 项目中的依赖。 为什么要进行 Maven 配置呢?IDEA 默认选择内置的 Maven 仓库,但是不好用。 本文所讲述的 Maven 配置可以说是超详细的! 从下载 Maven 这个东西开始,修改它…

【数据结构】栈和队列经典题目

目录 1.有效的括号【链接】 代码实现 2.用队列实现栈【链接】 代码实现 3.用栈实现队列 ​编辑 代码实现 4.循环队列(数组实现)【链接】 代码实现 1.有效的括号【链接】 题目描述: 给定一个只包括 (,),{&…

Ubuntu18.04:no module named ‘apt_pkg‘(python3.6升级为3.7要注意的事情)

这里写目录标题 没生效的尝试有用的解决附:升级方法 一直提示没有名叫apt_pkg的模块(no module named ‘apt_pkg’) 是python没装好?还是python没指向python3? 没生效的尝试 有用的解决 下面这个目录里,文件名带有36m的改为37m的…