威联通折腾篇十八:Gogs Docker 容器备份及恢复

栏目: IT技术 · 发布时间: 4年前

内容简介:年前我的 NAS系统盘挂掉,数据倒是没丢,但让我的很多配置都要重来。已经总结了:剩下的其他就是应用数据的恢复和备份了。这里再总结一下 Gogs 数据的备份和恢复。

年前我的 NAS系统盘挂掉,数据倒是没丢,但让我的很多配置都要重来。

已经总结了:

剩下的其他就是应用数据的恢复和备份了。这里再总结一下 Gogs 数据的备份和恢复。

之前使用的是 Qnap club 上面 qpkg 文件来安装的 Gogs, 这次迁移到 Docker 中。

Gogs 的主要数据和其他很多应用类似,主要是数据库和本地配置文件。

数据库备份

关于 MySQL 数据库的备份就不再多说了,之前也有总结过文章。

本地数据

使用 qpkg 文件安装的 QNAP 应用都会将数据存储在 /share/CACHEDEV1_DATA/.qpkg/ 目录下,找到该目录下的 /share/CACHEDEV1_DATA/.qpkg/Gogs/ 文件夹,如果不知道要备份该目录下的哪一个文件,笨办法就是把整个目录打包备份。

不过如果简单的查看一下 Gogs 的 Docker 镜像使用 就知道

# Pull image from Docker Hub.
$ docker pull gogs/gogs

# Create local directory for volume.
$ mkdir -p /var/gogs

# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs

# Use `docker start` if you have stopped it.
$ docker start gogs

在 Gogs 的 Docker 镜像中 Gogs 只挂载了 /data 目录,所有的数据都保存在该目录中。

/var/gogs
|-- git
|   |-- gogs-repositories
|-- ssh
|   |-- # ssh public/private keys for Gogs
|-- gogs
	|-- conf
	|-- data
	|-- log

观察该目录,就能看到主要是三个目录,结构一目了然。但是 QNAP 应用中结构就不那么清晰了。

/git/gogs-repositories 目录对应着 /home/gogs-repositories 目录,里面保存着所有 git 仓库文件。等启动 Docker 容器后,可以将该目录中的文件全部拷贝到 Docker 容器挂载的目录,比如我就是 /share/gogs/git 目录。

拷贝后可能还有权限问题,使用 chown user:group -R * 来解决一下(这里的 user group 要换成你系统中对应的)。

另外注意 /gogs/conf/ 目录下的配置文件,这是一个全局的配置,非常重要。

ERROR

Docker 启动过程中可能遇到如下错误:

error: kex_exchange_identification: client sent invalid protocol identifier

初步判断就是 Docker 端口配置错误,我之前配置 的 Gogs 服务,监听的两个端口分别是 10080 和 10022,所以在 Container Station 中配置的时候改一下即可。

External

Gitea 是一个 Gogs 的社区 fork,看 对比 是一个 Gogs 极好的代替品。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网页设计

网页设计

顾群业 / 山东美术 / 2007-1 / 42.00元

网页设计,是指网页设计者以既有的技术和艺术知识为基础,依照设计目的和要求,自觉地对网页的构成元素进行艺术构思,创造出艺术化、人性化的网站界面。如今,网页设计也发展成为一种新的艺术形式,是设计艺术的重要组成部分。优秀的网页设计,不仅要有鲜明的主题、统一的风格,还要求内容与形式的高度统一。一起来看看 《网页设计》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具