关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题

私有化部署

按照 思源笔记 docker 部署及第三方同步 做的 docker 私有化部署。

yml 文件如下:

version: '3'

services:
  siyuan:
    image: b3log/siyuan:latest
    container_name: fllsiyuan
    restart: always
    volumes:
      - /siyuan:/root/document/fllsynote
    command: [--workspace=/root/document/fllsynote,--lang=zh_CN,--accessAuthCode=88888888]
    ports:  
      - "7777:6806"

更改授权码

长期使用后,授权码 8 个 8 太长,想修改为 11。

使用命令


docker-compose stop siyuan

然后修改 yml 文件中授权码为 11,如下。

version: '3'

services:
  siyuan:
    image: b3log/siyuan:latest
    container_name: fllsiyuan
    restart: always
    volumes:
      - /siyuan:/root/document/fllsynote
    command: [--workspace=/root/document/fllsynote,--lang=zh_CN,--accessAuthCode=11]
    ports:  
      - "7777:6806"

然后

docker-compose start siyuan

经测试授权码未更改为 11,原先的思源笔记数据还在。

使用新的命令

docker-compose up -d

经测试授权码更改为 11,原先的思源笔记数据丢失(提前已备份)。

问题

请教各位贤达,这是怎么回事?如何达到目的(docker-compose 修改授权码,思源笔记数据不丢失)?

还是 docker-compose 不能实现?

  • 思源笔记

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

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

    20645 引用 • 80700 回帖 • 2 关注

相关帖子

欢迎来到这里!

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

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

    你需要在容器开着的时候执行修改操作。重启只是为了让文件生效。

  • 其他回帖
  • fradeet

    按你的情况还是搞个粗糙点的方法吧...在你原来有笔记的容器上

    docker cp fllsiyuan:/root/document/fllsynote/conf/conf.json ./conf.json
    

    拷贝出容器中的 JSON 文件,查找 accessAuthCode 并修改保存,拷贝回去,重启容器。

    docker cp ./conf.json fllsiyuan:/root/document/fllsynote/conf/conf.json
    
  • daziduan
    作者

    @muxue 谢谢,和你沟通学习了很多。

    首先

    look,我会用回复了。😄

    其次

    我明白你的意思了。要系统的学习,东一抓西一抓的零碎,不系统。

    我找了一个系统讲解 docker 的教程。

    最后

    对于你说的我引用的教程。确实,你能从教程里看到我犯错的痕迹。但我依然感谢这个教程。

    PS:我也感谢 this 教程 😄

  • daziduan
    作者

    @fradeet

    你好,整个实验过程如下图

    2.png

    根据你的回复

    首先我用命令停止 fllsiyuan

    docker stop fllsiyuan
    

    然后下载在本地修改授权码。
    15.37,我将授权码更改为 22 后传到本地目录下 conf.json。

    使用下面命令拷贝到容器。

    docker cp ./conf.json fllsiyuan:/root/document/fllsynote/conf/conf.json
    

    我再次使用命令从容器下载到宿主机来验证。

    docker cp fllsiyuan:/root/document/fllsynote/conf/conf.json ./conf111.json
    

    如图片 conf111.json,下载到本地查看授权码为 22。

    使用命令启动 fllsiyuan

    docker start fllsiyuan 
    

    验证发现,授权码没变更为 22。

    我再次下载 conf.json,如图 15.42 的 conf222.json 结果授权码还是 11。

    docker cp fllsiyuan:/root/document/fllsynote/conf/conf.json ./conf222.json
    

    另外使用

    docker-compose up
    

    也按预想的一样,没有更改授权码,因为这个命令是以 yml 文件信息启动的。我们没有更改 yml 文件中的信息。所有当然,授权码不会变更。

    请教一下,是我方法错误还是那里步骤不对?🙏

    1 回复
  • 查看全部回帖