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

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

尝试 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 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • gjfLeo
    作者

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

    1 回复
  • 其他回帖
  • gjfLeo
    作者

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

    1 回复
  • gjfLeo
    作者

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

    1 回复
  • kaluosifa

    请问是怎么解决的?

    1 回复
  • 查看全部回帖

推荐标签 标签

  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 150 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 160 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 63 关注
  • 反馈

    Communication channel for makers and users.

    117 引用 • 883 回帖 • 143 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    84 引用 • 112 回帖 • 1 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    914 引用 • 1450 回帖 • 432 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 551 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    2 引用 • 15 回帖 • 2 关注
  • 博客

    记录并分享人生的经历。

    262 引用 • 2369 回帖 • 1 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 4 关注
  • RIP

    愿逝者安息!

    9 引用 • 92 回帖 • 226 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    254 引用 • 668 回帖 • 259 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    29 引用 • 88 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    324 引用 • 602 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 86 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    13 引用 • 5 回帖 • 3 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    194 引用 • 354 回帖 • 143 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    201 引用 • 2014 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    6 引用 • 24 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖 • 10 关注
  • danl
    35 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    57 引用 • 29 回帖 • 9 关注
  • SSL

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

    65 引用 • 188 回帖 • 523 关注
  • 分享

    有什么新发现就分享给大家吧!

    235 引用 • 1672 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    4 引用 • 31 回帖 • 38 关注
  • Oracle

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

    103 引用 • 126 回帖 • 543 关注