紧急求助,Docker 疑似数据全部丢失

本贴最后更新于 215 天前,其中的信息可能已经斗转星移

先说一下情况:

  1. 使用 docker 部署,SiYuan 版本是 v2.1.10,部署时间是 2022/8,一直使用到 2024/2/17 日都没出现问题
  2. 2024/2/17 的时候还能使用,但是到了 2024/2/18 就进不去了,一进去就显示“内核断开,请等待 7 秒”
  3. 一开始以为只是普通问题,但是多刷新了几次页面,发现依然显示“内核断开,请等待 7 秒”,遂意识到不对劲
  4. 首先使用 docker logs siyuan 查看 log 中是否有错误,显示 determines whether [/root/Documents/SiYuan] is a directory failed: [lstat /root/Documents/SiYuan: permission denied],但是这个错误在以前就有,因此大概不属于 2/18 错误的原因。除此之外就没有别的错误
  5. 其次使用 docker restart siyuan 重启 siyuan 容器,无效
  6. 随后使用 docker-compose stopdocker-compose up -d 重启 siyuan 容器,依旧无效(中间修改了 docker compose 文件,但是只改了 auth 密码,其余没改)
  7. 此时意识到大事不妙,开始担心数据是否丢失了,首先检查的是 mount 目录,看看数据是否存在,发现数据不存在
  8. 使用 docker exec -it siyuan /bin/sh 进入 siyuan 容器,进入 /root/Documents/SiYuan 目录查看数据是否存在,依旧不存在
  9. 至此意识到大事不妙,怀疑数据可能因为本人的误操作导致全部丢失,来求各位大佬捞一捞,里面有我自 22 年开始就存的数据,数据非常多,而且非常重要,真的希望只是我找错地方了,而不是没找到。
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    21082 引用 • 82949 回帖 • 7 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7489 引用 • 34060 回帖 • 198 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • muxue 4

    这个错误是因为 docker 内的思源是用 siyuan 用户启动的,并非 root 用户,没有 root 用户的执行权限。也就是说你的这个思源 docker 大概率从创建一开始就没有把数据写入你 mount 的路径中

    如果没有权限思源会采用另外一个默认的工作目录,你可以看看日志里面有没有 using default working directory 等字样,可以去看看默认工作路径下是否有本地文件。参考我之前在社区提出的这个问题,下面这两个日志应该是一起出现的 docker 部署遇到目录的权限问题

    W 2023/11/16 10:11:39 file.go:262: determines whether [/root/docker/siyuan] is a directory failed: [lstat /root/docker/siyuan: permission denied]
    W 2023/11/16 10:11:39 working.go:225: use the default workspace [/home/siyuan/SiYuan] since the specified workspace [/root/docker/siyuan] is not a dir
    

    如果日志类似上面这样,可以去 docker 内部的 /home/siyuan/SiYuan 目录中找你的本地文件,并尽快将其 docker cp 到宿主机上去。

    如果你映射的本地目录在最开始的时候是成功创建了文件且有正常更新,默认工作空间 /home/siyuan/SiYuan 内为空的话,那就不是我说的这个问题。

    另外,docker 本来也是个正常的思源客户端,为啥最开始的时候不配置一下 s3 同步呢?还有,不管有没有配置 S3 同步,都一定要记得定期导出 data,备份!备份!备份!

    1 回复
    1 操作
    muxue 在 2024-02-19 10:17:44 更新了该回帖
  • Martin12345
    作者

    我去查看了下日志,确实有你说的 use the default workspace 这条日志,但是 /home/siyuan/SiYuan 目录是空的,依旧没有任何数据。备份这事本来上周该做的,但是因为过年就给忘了,哎。

    1 回复
  • 那就蛋糕了,问问 D 大排查一下到底是啥原因导致数据丢失的吧……数据恢复感觉难搞。

  • 88250

    没有挂载数据卷的话数据就在容器中,如果容器被删了就丢失了。

    1 回复
  • Martin12345 1
    作者

    以前重启过容器,数据都没丢。我怀疑是步骤 6 中,修改了 docker-compose 然后重启导致旧的 docker 被覆盖,进而导致数据丢失。哎,我没想到的是数据没有被正确挂载,当初部署的时候还是草率了。

    1 回复
  • 88250 1 评论

    没有删除过的话容器应该还在,docker ps 看看。

    docker ps -a 看看有没有之前的思源容器
    muxue
  • 刚刚搜了一下,因为你修改了 cmd,所以 docker-compose up -d 的时候会覆盖原有容器,估计是 gg 了

    1 回复
  • Martin12345
    作者

    确认是没有了,现在只能靠记忆去恢复数据了。求问坛友有没有比较好的数据备份方案,不花钱的那种。😳

    1 回复
  • 可以试试用 rclone 备份数据到云盘

请输入回帖内容 ...

推荐标签 标签

  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 417 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 651 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7489 引用 • 34060 回帖 • 198 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 389 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 624 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    406 引用 • 3568 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    28 引用 • 66 回帖 • 2 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 70 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 32 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    104 引用 • 126 回帖 • 425 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 65 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 624 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 157 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 447 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 295 回帖
  • 招聘

    哪里都缺人,哪里都不缺人。

    190 引用 • 1056 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    29 引用 • 111 回帖
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    77 引用 • 390 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 709 关注
  • 音乐

    你听到信仰的声音了么?

    60 引用 • 511 回帖 • 1 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1491 回帖 • 2 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 9 关注
  • 创业

    你比 99% 的人都优秀么?

    83 引用 • 1398 回帖 • 1 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖 • 3 关注