Gogs数据恢复

Gogs数据恢复(docker)

由于误将gogs docker镜像损坏了,导致gogs无法正常运行。

研究了半天,大概总结如下:

一、先找到挂载的目录

gogs镜像在run的时候会映射data文件在本地。所有文件都在里面,找到它就可以了。

需要全局搜索文件位置:

cd /
find -name gogs

在这里插入图片描述

我的文件就在var/gogs/ 目录下面。

二、找到并确认相关文件

找到的目录应该是如下结构的:

/var/gogs
|-- git
|   |-- gogs-repositories(git项目仓库)※
|-- ssh
|   |-- ssh public/private keys for Gogs(gogs 有关git的秘钥信息)※
|-- gogs
    |-- conf
        |-- app.ini gogs的配置文件(用来参考新安装的gogs如何配置)
    |-- data
    	|-- gogs.db gogs的用户资料数据库(之前用的是sqlite数据库)※
    |-- log

我们需要的文件如下:

git/gogs-repositories/: 用户提交的详细代码信息都在这里。

ssh/: gogs 有关git的秘钥信息,有了这个新安装后,用户就可以不用重新配git密钥了。

gogs/data/gogs.db: 用户账号信息。

ps:

关于数据库,查看配置文件确定使用的是何种数据库。使用的是其他数据库的请自行研究对应数据库恢复或连接,(我感觉sqlite挺方便的,所有用户信息都保存在一个文件,不用考虑重装数据库)

接下来很简单,只需装一个新的gogs,然后把上面的文件拷贝到对应位置就可以了。

三、重新拉取镜像并启动docker

1.找到相同版本的gogs镜像(一定要相同版本)

注意不同版本可能数据结构等有变化会不兼容。

gogs各个版本信息见

https://dl.gogs.io/

找不到见官网最新信息:https://gogs.io/

2.安装新的gogs

详细就不说了,见github 教程:

https://github.com/gogs/gogs/tree/main/docker

四、替换第二步理出来的文件

cp命令就不细说了,或者使用ssh工具或者宝塔之类的linux管理软件操作即可。

复制完重启gogs-docker即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值