各位是如何管理和备份服务器上的 docker 数据的?

2023-04-17 22:58:13 +08:00
 wayne3602

自从脱离了宝塔面板,感觉一身轻(个人感受+服务器感受)
以后搭建所有的 web 应用都采用 Docker ,必备的 Docker 我觉得是 nginx-proxy-manager ,用来做反代和申请 ssl 证书真的很好用
不过难免有一天服务器会发生故障

或者由于各种原因需要迁移服务器
这个时候数据备份就显得尤为重要,备份的前提是管理好映射在本地的数据,各位都是如何管理和备份 Docker 数据的呢?(仅指部署在服务器上的 Docker 数据)

1948 次点击
所在节点    问与答
10 条回复
ksc010
2023-04-17 23:18:37 +08:00
如果你是用 docker-composer 管理 docker 容器的话
把 docker-composer 文件放入到单独的文件夹就行了,简单的配置文件比如证书什么的 一块放到这个文件夹
网站项目源码,以及存储的文件,可以单独一个目录
docker-composer 里面做好 volume 的映射即可
然后根据文件夹按需备份
Yourshell
2023-04-17 23:35:18 +08:00
再起一个 rclone 容器
wdwwtzy
2023-04-18 00:15:11 +08:00
nginx-proxy-manager 学习了,不错
yjim
2023-04-18 00:25:13 +08:00
docker 容器的创建命令保存一份

写脚本 用 crontab 每天定时执行如下操作

1. 导出数据库 为 sql 文件到指定目录,然后压缩所有 sql 文件为一个压缩包
2. 备份各 docker 容器挂载目录中的配置文件( config / env / setting ,如果有的话)到指定目录。
3. 检查指定目录下各备份文件的时间,删除超过一定时间的备份

一个配置一个数据,对于我个人的服务来说这俩保存好就没问题了。

然后 nas 每天会自动登录服务器增量同步指定目录下的备份。
cdyrhh
2023-04-18 00:55:42 +08:00
用的是 docker-compose 管理,一个文件夹对应一个服务,所有有关的配置数据什么的都在里面,然后用 dumplicati 定时备份到 od 和 gd
shuxhan
2023-04-18 08:26:50 +08:00
@ksc010 我跟你一样,按照业务建立文件夹 docker-composer 文件放在文件夹中,数据映射到同级目录,所有业务文件夹都放在 data 下,只用备份这个文件就行
dann73580
2023-04-18 12:09:13 +08:00
把 docker compose 扔到容器的 data 文件夹同级的地方,每天滚动备份,完事~
wayne3602
2023-04-18 16:13:07 +08:00
@ksc010 请问兄弟用过 ttrss 吗?我一修改它的 database.postgres:的挂载位置,就会出现异常,我是将`- ~/postgres/data/:/var/lib/postgresql/data`修改为`- ./postgres/data/:/var/lib/postgresql/data`
wayne3602
2023-04-18 16:14:50 +08:00
@cdyrhh 目前我也是采用的这种方式,但是我不知道为什么 ttrss 的挂载位置一修改就出现错误,我是将`- ~/postgres/data/:/var/lib/postgresql/data`修改为`- ./postgres/data/:/var/lib/postgresql/data`,目前只能按默认位置,即根目录了
ksc010
2023-04-18 19:26:57 +08:00
@wayne3602 什么异常?
可以看下 docker 输出的日志,若更换映射目录才报错, 一般是权限问题(前提是不缺少文件)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/933288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX