现象
在使用fastgpt:v4.8.6版本、基于docker-compose-milvus.yml部署的Docker环境中,调用GPT-4O加载图片时出现报错。容器内日志显示报错信息为connect ECONNREFUSED 127.0.0.1:3000,请求目标为http://localhost:3000/api/system/img/66962c82ffb4e026d63d6d98。该操作在Azure控制台可正常完成,无此报错。
可能原因
报错提示连接本地3000端口被拒绝,核心原因大概率是请求地址配置错误。容器内的127.0.0.1指向容器自身的回环地址,若FastGPT的图片请求未指向部署环境中实际运行的服务地址,就会出现无法连接的问题。此外,相关的图片服务未在容器内或部署环境中正常启动监听3000端口,也会导致该报错。
排查步骤
- 进入出现报错的FastGPT容器内部,执行
netstat -tulpn命令,查看3000端口是否有进程在监听,确认对应服务是否正常启动。 - 查看FastGPT的环境配置文件,核对图片资源请求的地址配置,确认是否将外部服务地址错误配置为容器内的本地回环地址。
- 在容器内部执行
curl http://localhost:3000/api/system/img/66962c82ffb4e026d63d6d98,测试是否可以正常访问该接口,验证连接性。 - 对比Azure控制台正常操作时的请求地址,确认当前FastGPT内的配置地址是否存在偏差。
解决与验证
若排查发现是请求地址配置错误,将配置中的127.0.0.1:3000或localhost:3000替换为部署环境中实际可访问的服务地址,例如宿主机的IP地址或Docker Compose内部的服务名。若对应服务未启动,需按照部署文档启动相关的图片服务。完成配置修改或服务启动后,重新启动FastGPT容器,再次尝试使用GPT-4O加载图片,确认报错消失,请求可正常访问图片资源接口。