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

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

  缘起:
    由于看到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.kler.cn/news/362101.html

相关文章:

  • JavaScript 中怎么判断前端各种运行环境
  • Facebook网页版登录不了是什么原因?如何解决?
  • 『完整代码』坐骑召唤
  • 记一次在一亿数据的大表里删除重复数据 by 勤勤学长
  • 项目管理这些问题,你是不是忍了很久?
  • AOP 面向切面编程
  • css 不管目录结构层级。父元素有很多块子元素,孙子元素。希望从左往右从上往下排列
  • MySQL程序介绍<二>
  • TensorRT推理端到端
  • Nodejs上传阿里云oss图片案例
  • jupyter notebook 笔记
  • uniapp-components(封装组件)
  • 可能不常用到的Git命令
  • Springboot实现阿里云短信验证服务+Redis缓存
  • 手撕布隆过滤器:原理解析与面试心得
  • QT-子项目管理
  • 【JavaScript fetch API】简介和使用
  • 牛只行为及种类识别数据集18g牛只数据,适用于多种图像识别,目标检测,区域入侵检测等算法作为数据集。数据集中包括牛只行走,站立,进食,饮水等不同类型的数据
  • SpringBoot接收RequestBody数据时,参数大写接收不到数据以及解决办法
  • pm2 守护http-server
  • Redis Search系列 - 第二讲 同义词
  • Go 项目配置的定制化和一体化打包方案
  • 红队老子养成记4 - 不要遇到403就放弃,学会403绕过,找到别人找不到的接口!!(全网最多绕过!)
  • UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程
  • 计算机视觉在疲劳检测中的应用
  • MySQLDBA修炼之道-开发篇(一)