-
关于 Docker 安装 v3.1.0 思源笔记基于 nginx 使用反向代理二级域名出错问题的反馈和讨论
2024-07-30 09:162024/07/30 09:09:57 http: response.Write on hijacked connection from github.com/gin-gonic/gin.(*responseWriter).Write (response_writer.go:83)
有人能看懂 docker 思源笔记后台的这条记录是什么意思吗?
hijack??
-
关于 Docker 安装 v3.1.0 思源笔记基于 nginx 使用反向代理二级域名出错问题的反馈和讨论
2024-07-30 08:58
👍
按照你的方案,解决问题了。
按照服务端的出错提示,我也能得出没有使用 websocket 协议,在连接头中没有发现“upgrade”“token”。
你是怎么想出解决方案的?我该看些哪方面的学习资料?
请指教。
🙏
-
关于 Docker 安装 v3.1.0 思源笔记基于 nginx 使用反向代理二级域名出错问题的反馈和讨论
2024-07-29 23:16你好。
我没有反代 websocket ,(也不懂怎么 websocket)。
另外我详细点描述一下问题
我尝试删除 docker 思源笔记。再次安装。直接用主域名:7777 可正常访问,后台也没问题。
一旦我使用二级域名,便会出现下面问题(有 websocket 等关键词)
linux
ddsy_c | E 2024/07/29 23:14:05 serve.go:452: handle command failed: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header
ddsy_c | E 2024/07/29 23:14:06 serve.go:452: handle command failed: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header
ddsy_c | E 2024/07/29 23:14:08 serve.go:452: handle command failed: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header
ddsy_c | E 2024/07/29 23:14:10 serve.go:452: handle command failed: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header
ddsy_c | E 2024/07/29 23:14:12 serve.go:452: handle command failed: websocket: the client is not using the websocket protocol: 'upgrade' token not found in 'Connection' header我觉得可能是二级域名哪里设置的问题?有人碰到过吗?
-
关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题
2024-07-25 19:43 -
关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题
2024-07-25 17:39你好。我确实想搞明白,这种方法是否可行。
我按你的建议,容器开着时候执行拷贝,修改,再拷贝回去,restart。如下。
能够看到执行命令后有,successfully 的反馈。
但是授权码没有更改。
docker inspect fllsy_c
看到的授权码也是以前的授权码。
请帮忙看下,哪里出问题了?🙏
-
关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题
2024-07-25 16:03你好,整个实验过程如下图
根据你的回复
首先我用命令停止 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 文件中的信息。所有当然,授权码不会变更。
请教一下,是我方法错误还是那里步骤不对?🙏
-
关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题
2024-07-25 15:15实践是检验真理的唯一标准
非常非常感谢 @muxue ,你的材料给了我很多思考。
先回复你一下,
/siyuan
目录下没有任何文件,也就是说宿主文件和容器之间路径没有正确的映射关系从开头捋一下。
下面是原先的 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"
昨天,我把 Docker 删除了,重新安装。
docker rm -f fllsiyuan docker-compose up
之后出现的 logs 文件,如下:
fllsiyuan | W 2024/07/24 19:23:09 file.go:210: determines whether [/root/document/fllsynote] is a directory failed: [lstat /root/document/fllsynote: permission denied] fllsiyuan | W 2024/07/24 19:23:09 working.go:258: use the default workspace [/home/siyuan/SiYuan] since the specified workspace [/root/document/fllsynote] is not a dir fllsiyuan | I 2024/07/24 19:23:09 working.go:147:
经过研究,本段 logs 的意思是,在容器中[/root/document/fllsynote]访问?读写允许被拒绝,使用默认的容器目录[/home/siyuan/SiYuan]。(注意,此时容器中思源笔记还在正常运行!!这可能是一切问题的源头)(**所以,我不知道此种情况下宿主目录与容器目录的对应关系,一直运行至今 VPS 没敢关机!😭 **)
那我把容器目录改为[/home/siyuan/SiYuan]是不是就可行了?也不行
fllsiyuan | E 2024/07/25 14:16:34 working.go:280: create os tmp dir [/home/siyuan/SiYuan/temp/os] failed: mkdir /home/siyuan/SiYuan/temp: permission denied
今天验证了一下,也是会出错的,denied。
其实是权限的问题,根据 @mexue 的提示,使用
chgrp 1000 /siyuan chown 1000 /siyuan
下面我把在
final shell
中的log
文件贴出来,大家看下。root@dazi:/# cd siyuan root@dazi:/siyuan# docker-compose up [+] Running 1/1 ⠿ Container fllsiyuan Created 0.2s Attaching to fllsiyuan fllsiyuan | E 2024/07/25 14:40:55 working.go:280: create os tmp dir [/home/siyuan/SiYuan/temp/os] failed: mkdir /home/siyuan/SiYuan/temp: permission denied fllsiyuan exited with code 0 fllsiyuan | E 2024/07/25 14:40:56 working.go:280: create os tmp dir [/home/siyuan/SiYuan/temp/os] failed: mkdir /home/siyuan/SiYuan/temp: permission denied fllsiyuan exited with code 0 fllsiyuan | E 2024/07/25 14:40:57 working.go:280: create os tmp dir [/home/siyuan/SiYuan/temp/os] failed: mkdir /home/siyuan/SiYuan/temp: permission denied fllsiyuan exited with code 25 fllsiyuan | E 2024/07/25 14:40:58 working.go:280: create os tmp dir [/home/siyuan/SiYuan/temp/os] failed: mkdir /home/siyuan/SiYuan/temp: permission denied fllsiyuan exited with code 25 ^Z [1]+ Stopped docker-compose up root@dazi:/siyuan# docker rm -f fllsiyuan fllsiyuan root@dazi:/siyuan# chgrp 1000 /siyuan root@dazi:/siyuan# chown 1000 /siyuan root@dazi:/siyuan# docker-compose up [+] Running 1/1 ⠿ Container fllsiyuan Created 0.1s Attaching to fllsiyuan fllsiyuan | I 2024/07/25 14:41:46 working.go:147:
此时在
/siyuan
目录下生成了如下图片的数据文件:OK! 至此,总算是宿主机和容器路径能正确映射了。
这下,我的 VPS 可以重启了,即使是意外断电也不怕资料丢失了。😄
此时使用下列命令可更改授权码且资料不丢失
docker-compose stop fllsiyuan #此时使用nano更新授权码为11 docker-compose up
总结
其实本问题是两个问题
1、更改授权码。
2、为什么资料会丢失。
关键是我在 docker 安装思源笔记时就错了,没有正确映射宿主机和容器正确路径,所以糅合成了一个问题。
鸣谢
感谢 @muxue 的回复。
另,@fradeet ,你的方案我后续会进行验证,谢谢你。
保留
对 @muxue "最后的最后,非常不建议各位在没有弄清楚 docker 运行的原理的情况下,就盲目上 docker……"的说法我不赞同。
我认为:在做好备份的情况下,即使没有彻底弄懂 docker 运行的原理,也勇敢的去尝试吧,上 docker 本来就是弄懂 docker 运行原理的过程。
回忆过往时,人们从来因为没做过什么而遗憾,而不是为做过什么而遗憾!
-
关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题
2024-07-24 20:02@ muxue
你好。
按你说的更改 ymlversion: '3'
services:
siyuan:
image: b3log/siyuan:latest
container_name: fllsiyuan
restart: always
volumes:- /root/document/fllsynote:/siyuan
command: [--workspace=/root/document/fllsynote,--lang=zh_CN,--accessAuthCode=11]
ports: - "7777:6806"
启动之后。
使用 docker-compose logs 之后显示下面信息:
fllsiyuan | W 2024/07/24 19:23:09 file.go:210: determines whether [/root/document/fllsynote] is a directory failed: [lstat /root/document/fllsynote: permission denied]
fllsiyuan | W 2024/07/24 19:23:09 working.go:258: use the default workspace [/home/siyuan/SiYuan] since the specified workspace [/root/document/fllsynote] is not a dir
fllsiyuan | I 2024/07/24 19:23:09 working.go:147:我看显示错误,怎么修正错误?
进容器之后
/opt/siyuan/guide/20240530133126-axarxgx $ ls
20240530101000-3xv6jjr.sy 20240530101000-bgv304g.sy 20240530101000-hkgs92c 20240530101000-mpln2lp.sy storage
20240530101000-4qitucx 20240530101000-e6z5okf.sy 20240530101000-hkgs92c.sy 20240530101000-znj103k.sy
20240530101000-4qitucx.sy 20240530101000-flot1gj.sy 20240530101000-jp793ic.sy assets请贤达指教。
- /root/document/fllsynote:/siyuan
-
关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题
2024-07-24 19:42/root/document/fllsynote
这个目录里面什么也没有。
怎么进行 VPS 宿主目录和 docker 容器的对应?有没有参考文件?
另外,谢谢 @muxue!