求解关于 Docker 版思源笔记部署的问题

本贴最后更新于 346 天前,其中的信息可能已经时移世异

尝试 Docker 部署的时候遇到几个问题,请求大佬解答一下。


我的操作步骤:

$ mkdir /var/siyuan/workspace
$ chown -R 1000:1000 /var/siyuan/workspace
$ docker run --name siyuan -it -d --restart=always      \
    -v /var/siyuan/workspace:/var/siyuan/workspace      \
    -p 6806:6806 -u 1000:1000 b3log/siyuan              \
    --workspace=/var/siyuan/workspace                   \
    --servePath=mydomain.com:6806

此时在 Chrome 中访问 mydomain.com:6806 就可以正常访问和保存笔记了。

但是此时查看日志会看到一连串报错信息(重复多次,这里只贴一条):

2021/12/24 10:23:24 [Recovery] 2021/12/24 - 10:23:24 panic recovered:
runtime error: invalid memory address or nil pointer dereference
/usr/local/go/src/runtime/panic.go:221 (0x4535a6)
/usr/local/go/src/runtime/signal_unix.go:735 (0x453576)
/go/pkg/mod/github.com/gorilla/websocket@v1.4.2/conn.go:1184 (0xc44fc6)
/go/pkg/mod/github.com/88250/melody@v0.0.0-20201115062536-c0b3394adcd1/melody.go:172 (0xc44fae)
/go/pkg/mod/github.com/88250/melody@v0.0.0-20201115062536-c0b3394adcd1/melody.go:161 (0x102c5b7)
/go/src/github.com/siyuan-note/siyuan-src/kernel/server/serve.go:196 (0x102c57d)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/context.go:165 (0xc3926c)
/go/pkg/mod/github.com/gin-contrib/sessions@v0.0.3/sessions.go:52 (0xc39258)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/context.go:165 (0xffca2c)
/go/pkg/mod/github.com/gin-contrib/gzip@v0.0.3/handler.go:60 (0xffca02)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/context.go:165 (0xc30521)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/recovery.go:99 (0xc3050c)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/context.go:165 (0xc2f3dd)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/gin.go:489 (0xc2f065)
/go/pkg/mod/github.com/gin-gonic/gin@v1.7.4/gin.go:445 (0xc2ebc4)
/usr/local/go/src/net/http/server.go:2878 (0x75a9da)
/usr/local/go/src/net/http/server.go:1929 (0x756087)
/usr/local/go/src/runtime/asm_amd64.s:1581 (0x470940)

之后我尝试了在设置中修改授权码。修改时看似一切正常,但修改完刷新页面、输入授权码后,页面就一直停在启动动画(LOGO 界面)了。此时日志依然在重复输出上面那条报错信息。

求大佬帮忙看下,是哪里出错了呢 😭


另外改授权码之前,当我试了用其他设备访问,但是都显示“与内核断开”的提示,无法使用。一个是电脑端的新版 Edge 浏览器,另一个是安卓的 Edge 浏览器,是浏览器不支持的原因吗?还是我的部署还有其他问题……

1 操作
gjfLeo 在 2021-12-24 10:52:24 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    使用了反向代理么?用了的话需要设置 WebSocket 反代,帮助文档里有介绍。

    1 回复
  • gjfLeo
    作者

    谢谢大佬解答。我之前没有接触过反向代理相关的内容,刚才研究了一下,还不是太理解。这台服务器没有使用 Nginx ,只用到 Apache Httpd,配置了一些 HTTP 重定向(比如把 siyuan.mydomain.com 重定向到 mydomain.com:6806 等等),和这个有关系吗,应该如何继续排查呢?

    1 回复
  • 88250
    订阅者

    有关系,不能用重定向,只能用反向代理。

    1 回复
  • gjfLeo
    作者

    问题应该解决了,谢谢大佬

    1 回复
  • kaluosifa

    请问是怎么解决的?

    1 回复
  • gjfLeo
    作者

    把相关的重定向配置删除,然后启动时也不加 servePath 参数,就行了

    1 回复
  • kaluosifa

    请问重定向配置在什么目录下?我在容器内没有找到相关配置。

请输入回帖内容 ...

推荐标签 标签

  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 591 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    33 引用 • 37 回帖 • 439 关注
  • Webswing

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

    1 引用 • 15 回帖 • 593 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    19 引用 • 56 回帖 • 2 关注
  • 996
    13 引用 • 200 回帖
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 3 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 2 关注
  • 思源笔记

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

    融合块、大纲和双向链接,构建你永恒的数字花园。

    109 引用 • 1228 回帖
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    190 引用 • 120 回帖
  • 导航

    各种网址链接、内容导航。

    26 引用 • 160 回帖 • 2 关注
  • 外包

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

    26 引用 • 232 回帖 • 165 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 615 关注
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 552 关注
  • JWT

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

    19 引用 • 15 回帖 • 4 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    20 引用 • 57 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    16 引用 • 142 回帖 • 5 关注
  • RabbitMQ

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

    49 引用 • 60 回帖 • 458 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 7 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    103 引用 • 53 回帖
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 246 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    4 引用 • 63 回帖 • 1 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    89 引用 • 3453 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    135 引用 • 267 回帖 • 395 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    14 引用 • 67 回帖 • 418 关注
  • SSL

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

    65 引用 • 188 回帖 • 522 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖