Docker部署ConceptNet5.5后无法连接PostgreSQL数据库求助
解决ConceptNet 5.5 Docker部署后浏览器搜索报错的问题
我按照官方指引用Docker部署了ConceptNet 5.5.5,系统IP为10.201.23.66,通过sudo docker ps确认两个容器均处于运行状态,命令输出如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b4a07f4d3fcb rspeer/conceptnet:5.5.5 "/usr/bin/supervis..." 57 seconds ago Up 55 seconds 0.0.0.0:80->80/tcp, 443/tcp conceptnet5master_api_1
d4f95d53ef9...
但从浏览器执行搜索查询时出现了错误,以下是针对性的排查和解决建议:
排查方向与解决方法
1. 确认访问地址的正确性
- 你是否直接访问
http://10.201.23.66?容器已经把内部80端口映射到主机80端口,正常情况下这个地址应该能打开ConceptNet的Web界面。如果主机80端口被其他服务占用,需要修改Docker Compose配置中的端口映射(比如改成8080:80),之后访问http://10.201.23.66:8080试试。
2. 检查容器内部服务状态
- 先查看API容器的运行日志,确认内部服务是否正常启动:
重点看日志里有没有端口冲突、服务启动失败的报错信息。sudo docker logs b4a07f4d3fcb - 也可以直接进入容器内部,用supervisor查看服务状态:
确保sudo docker exec -it b4a07f4d3fcb bash supervisorctl statusuwsgi、nginx这类核心服务处于RUNNING状态。
3. 直接测试API接口可用性
- 跳过Web界面,先验证API接口是否能正常响应:
如果能返回JSON格式的概念数据,说明API服务没问题,错误可能出在Web前端;如果返回错误,那就要聚焦排查API服务本身的配置或依赖问题。curl http://10.201.23.66/c/en/cat
4. 排查主机网络与防火墙限制
- 确认主机防火墙没有拦截80端口的访问:
同时确保局域网内的设备能正常ping通你的主机,网络连通性是访问的基础。sudo ufw status # 若使用ufw防火墙 # 或查看iptables规则 sudo iptables -L
5. 完整检查所有容器状态
- 你提供的
docker ps输出里第二个容器信息不完整,建议执行sudo docker ps -a,确认数据库容器(ConceptNet依赖的数据库服务)的状态、端口映射是否正常——如果数据库容器未正常运行,API服务必然会报错。
内容的提问来源于stack exchange,提问作者S Kumar
相关产品推荐
相关产品推荐

