使用docker启动后,请求被重置
niusme opened this issue · 18 comments
docker compose HTTP POST
version: "3"
services:
napcat:
environment:
- ACCOUNT=<机器人qq>
- HTTP_ENABLE=true
- HTTP_POST_ENABLE=true
- HTTP_URLS="http://192.168.3.8:5140/onebot"
ports:
- 3000:3000
container_name: napcat
network_mode: bridge
image: mlikiowa/napcat-docker:latest
使用上述docker-compose启动后,
在宿主机上 发送
curl --request POST
--url http://127.0.0.1:3000/send_msg
--header 'Content-Type: application/json'
--header 'content-type: application/json'
--data '{
"message_type":"private",
"user_id": ******,
"message":"早上好"
}'
返回:curl: (56) Recv failure: Connection reset by peer
麻烦作者大大看看
docker不能用127.0.0.1直接访问 需要容器的IP去访问
我使用 docker inspect 查看容器ip后,使用容器ip 172.17.0.2
curl --request POST
--url http://172.17.0.2:3000/send_msg
--header 'Content-Type: application/json'
--header 'content-type: application/json'
--data '{
"message_type":"private",
"user_id": ******,
"message":"早上好"
}'
返回
curl: (7) Failed to connect to 172.17.0.2 port 3000: Connection refused
你应该看看容器内服务有没有正常启动 napcat启动时会输出你的配置 检查下
version: "3" services: napcat: environment: - ACCOUNT=<机器人qq> - HTTP_ENABLE=true - HTTP_POST_ENABLE=true - HTTP_URLS="http://192.168.3.8:5140/onebot" ports: - 3000:3000 container_name: napcat network_mode: bridge image: mlikiowa/napcat-docker:latest 使用上述docker-compose启动后,
宿主机系统、还有docker版本方便提供一些吗?network_mode: host 试试呢
默认网络配置可以看见3000端口被占用
把之前服务的用 docker compose down 删掉
之前操作是 down掉 再up的。
默认网络配置可以看见3000端口被占用,改成host后 3000端口没有被占用。
host模式下不需要映射端口了,现在可以访问到容器内的onebot服务了吗
而且这个时候 netstat -l 发现3000端口并没有被占用
而且这个时候 netstat -l 发现3000端口并没有被占用
不要 curl 回环地址,改成公网或内网IP
顺便看一下容器日志
二维码已保存到 /usr/src/app/qrcode.png
[NapCat] [Upate] 当前版本: 1.1.0
[NapCat] [Upate] 检测到更新,请前往 https://github.com/NapNeko/NapCatQQ 下载 NapCatQQ V 1.1.1
2024-04-23 08:21:32,246 INFO success: napcat entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
downloadPath /root/.config/QQ/NapCat/temp
{
selfUin: '10*******773',
selfUid: 'u_ZX_Usai4w_r5b8NJBZqRtA',
desktopPathConfig: { account_path: '/root/.config/QQ' },
clientVer: '9.9.9-22578',
a2: '',
d2: '',
d2Key: '',
machineId: '',
platform: 3,
platVer: '4.19.0-17-amd64',
appid: '537213710',
rdeliveryConfig: {
appKey: '',
systemId: 0,
appId: '',
logicEnvironment: '',
platform: 3,
language: '',
sdkVersion: '',
userId: '',
appVersion: '',
osVersion: '',
bundleId: '',
serverUrl: '',
fixedAfterHitKeys: [ '' ]
},
defaultFileDownloadPath: '/root/.config/QQ/NapCat/temp',
deviceInfo: {
guid: '0adbefe4-0550-4dd3-8720-58f656f9fff4',
buildVer: '3.2.7-22868',
localId: 2052,
devName: 'ui8ax9gwztdip4pn',
devType: 'Linux',
vendorName: '',
osVer: '4.19.0-17-amd64',
vendorOsName: 'Linux',
setMute: false,
vendorType: 0
},
deviceConfig: '{"appearance":{"isSplitViewMode":true},"msg":{}}'
}
linux-bugly: init bugly ...
InitBuglyManager
SetLogger
fatalSetup
GetDllPath: 33
pub_key_path: /opt/QQ/resources/app/pub.key
[BuglyManager.cpp][InitBuglyManager][212]InitBuglyManager path: /root/.config/QQ/crash_files/
BuglyManager/opt/QQ/resources/app/pub.key
[BuglyService.cpp][CreatDir][70]!!!begin to CreatDir 0: /root/.config/QQ/crash_files/
[BuglyService.cpp][registBugly][589]set signal stack
[BuglyService.cpp][registSignalHandler][520]regist native handler
registBugly/opt/QQ/resources/app/pub.key
[BuglyService.cpp][setParam][618]setParam, key:appVersion, value:9.9.9-22578..
setParam/opt/QQ/resources/app/pub.key
StartWithOptions s/opt/QQ/resources/app/pub.key
StartWithOptions e/opt/QQ/resources/app/pub.key
PostDelayedTask s/opt/QQ/resources/app/pub.key
PostDelayedTask e/opt/QQ/resources/app/pub.key
linux-bugly: init bugly done.
ob11 ready
ob11 msg listener added
ob11 buddy listener added
ob11 group listener added
login success
正在记录消息到数据库 7360974832248997474
正在记录消息到数据库 7360974832248997657
正在记录消息到数据库 7360974832248997652
正在记录消息到数据库 7360974837668008615
[BuglyManager.cpp][UploadBugly][107]!!!in UploadBugly.
[NativeCrashHandler.cpp][getCrashDetailBeanFromRecord][52]!!!! in NativeCrashHandler getCrashDetailBeanFromRecord, open file error!!!,dumpFilePath:/root/.config/QQ/crash_files/rqd_record.eup.
[NativeCrashHandler.cpp][uploadCrashEvent][331]get null crashDetailBean, return!
正在记录消息到数据库 7360974846679287235
正在记录消息到数据库 7360974832249000396
正在记录消息到数据库 7360974875877407533
日志就这些,其他都是 :在记录消息到数据库
curl 内网地址一样是 Connection refused
似乎是配置未读取成功,目前docker-compose存在一些问题,修好了会跟你说
把那个url两边的双引号去掉就行了
去掉引号就可以啦 。