Docker上Koishi的5140突然不能用了,但将实例下载到本地貌似没有太大问题

我在服务器的docker容器上成功安装koishi后正常运行了大概2天,之后突然发现机器人不能用了(不能用时候未在koishi桌面做任何操作),本以为只是adapter-qq掉线的小问题,于是上服务器查看。
发现5140进不去,于是重启后看了下日志,看不懂,以我个人能力不知道该怎么解决。

我将服务器上的同一个实例副本下载后本地(Windows)运行,貌似没有特别大的问题(至少能进5140),可能我遇到的5140进不去问题与koishi无关。

本身我也不是特别懂服务器和docker什么的,部署是在非官方群里的人帮忙下完成的。

所以在此发帖向各位大佬求助。

以下左图为服务器上的koishi日志,右图为同一个实例本地(Windows)运行的日志。

(koishi插件版本4.17.3,其他基本小火箭过,一时想不到还有什么可以提供的信息)

2 个赞

有 docker 环境的完整日志么,这里看起来他运行的很正常
除了插件市场的源无法访问以外(

2 个赞

蟹蟹回复,我不知道是不是这个文件。对了,我还尝试在docker上重装了一次koishi。
5e1ce56cdfbd2129bc59c195c24fa02172f6e85af20a839dfe171937b35cccdf-json.log (838.3 KB)

2 个赞

image
日志文件们在 实例路径/data/logs/ 目录下,你可以在这里看看从正常使用到无法使用之间,发生了什么

3 个赞

有docker的运行命令吗?例如docker run命令或者docker-compose.yml文件。
另外,有服务器的防火墙具体情况吗?
如果可能,还可以尝试在服务器运行 netstat -lnp 查看5140端口占用情况。

3 个赞

感谢回复。以下是我从日志对应时间点复制的内容。

根据聊天记录,我看到我的机器人无响应的出事时间应该在
3月31日14:16- 3月31日17:41

并且好像无事发生,只有adapter-qq日常重连。
帖子里粘贴出来的这段日志之前的是一样的重连提示,之后的是我发现进不了5140后重启koishi的新一个日志文件。

{“id”:48588,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711865260935}
{“id”:48590,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711865261099}
{“id”:48596,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711865267526}
{“id”:49120,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711867067525}
{“id”:49122,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711867067697}
{“id”:49128,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711867074196}
{“id”:49447,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711868874197}
{“id”:49449,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711868874349}
{“id”:49455,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711868880793}
{“id”:49834,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711870680794}
{“id”:49836,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711870680962}
{“id”:49842,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711870687663}
{“id”:50251,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711872487663}
{“id”:50253,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711872487825}
{“id”:50261,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711872494115}
{“id”:50691,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711874294114}
{“id”:50693,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711874294279}
{“id”:50699,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711874300671}
{“id”:51348,“type”:“warn”,“level”:2,“name”:“qq”,“meta”:{},“content”:“offline: server request reconnect”,“timestamp”:1711876100675}
{“id”:51350,“type”:“warn”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“Session timed out, will retry in 5s…”,“timestamp”:1711876100841}
{“id”:51356,“type”:“info”,“level”:2,“name”:“adapter”,“meta”:{},“content”:“connect to server: \u001b[38;5;44mwss://api.sgroup.qq.com/websocket\u001b[0m”,“timestamp”:1711876107295}

2 个赞

感谢回复。

关于docker-compose.yml:
我试着搜索了所有docker-compose.yml文件,我不是很清楚是哪个文件,也没有类似koishi的字眼,我大概看了下我能搜到的所有文件,里面有port相关字眼,但是没有看到5140,不知道这个信息有没有用。

关于防火墙:
我看了下我的服务器面板下的安全,防火墙开启,tcp5140正常,策略允许,来源所有IP。此外有个不知道有没有用的信息,我最近看到我的“SSH登录日志”里面有个陌生IP无限登录失败,昨天已经给他IP规则屏蔽掉了。

关于netstat -lnp:
在我运行 netstat -lnp后截下此截图准备打字期间,5140页面在后台突然自己转了个圈成功连上了。。。 :sweat_smile:
好吧我也不知道发生了什么,我遇到的这个问题大概是跟koishi本身没有关系,是因为这个指令激活了什么东西么? :hear_no_evil:

2 个赞

这个命令的作用只是查看端口的占用情况,从命令结果来看,koishi的docker环境运行正常,起码可以正常打开端口。至于输入这行命令的作用,因为需要排除其他程序抢占5140端口导致koishi无法访问的可能。

如果没有使用docker-compose,那么你应该是使用docker run开头的命令启动koishi,这行命令可以让其他人直观地看到你的docker运行环境,例如开放的端口,挂载的数据,以及运行的用户。

3 个赞