![[Question]: http://es01:1200 connect fault.](https://www.chat-gpts.plus/wp-content/uploads/2026/06/4853-0f2ac450.jpg)
[Question]: http://es01:1200 connect fault.
快速结论:该报错通常发生在 RAGFlow 容器启动后,Elasticsearch 容器内部尚未完全就绪或网络连通性出问题时。优先排查 Elasticsearch 容器是否健康,并尝试重启 Docker 服务。
问题场景
用户在 Ubuntu 系统下通过 Docker 部署 RAGFlow,执行 docker compose -f docker/docker-compose.yml up -d 后,所有容器(ragflow-redis、ragflow-es-01、ragflow-mysql、ragflow-minio、ragflow-server)均显示为 Running 状态。但执行 docker logs -f ragflow-server 时,持续输出连接 Elasticsearch 失败的报错。
报错原文
docker logs -f ragflow-server
[WARNING] [2025-02-09 10:15:22,335] [_node_pool.mark_dead] [line:249]: Node has failed for 1 times in a row, putting on 1 second timeout
[WARNING] [2025-02-09 10:15:22,335] [_transport.perform_request] [line:395]: Retrying request after failure (attempt 0 of 3)
Traceback (most recent call last):
File "/ragflow/.venv/lib/python3.12/site-packages/elastic_transport/_transport.py", line 328, in perform_request
meta, raw_data = node.perform_request(
^^^^^^^^^^^^^^^^^^^^^
File "/ragflow/.venv/lib/python3.12/site-packages/elastic_transport/_node/_http_urllib3.py", line 202, in perform_request
raise err from None
elastic_transport.ConnectionError: Connection error caused by: NewConnectionError(: Failed to establish a new connection: [Errno 111] Connection refused)
原因分析
可能原因:Elasticsearch 容器在启动时尚未完全就绪(例如内存分配、初始化过程耗时较长),或者 Docker 内部网络出现临时错误导致 ragflow-server 无法通过 http://es01:1200 访问 ES。
环境排查
- 确认 Docker 版本及 Docker Compose 版本。
- 确认 Elasticsearch 容器状态:
docker ps -a或docker inspect ragflow-es-01查看 health 状态。 - 确认 Elasticsearch 监听端口:在宿主机执行
curl http://localhost:1200测试外部可达性。 - 检查
docker-compose-base.yml中 ES 的 healthcheck 配置(测试命令为curl http://localhost:9200,内部暴露端口是 9200,外部映射 1200)。
解决步骤
- 先尝试重启 Docker 服务(社区反馈此操作在部分场景有效):
sudo systemctl restart docker.socket sudo systemctl restart docker - 重启后重新启动 RAGFlow 容器:
cd ragflow/ docker compose -f docker/docker-compose.yml down docker compose -f docker/docker-compose.yml up -d - 等待 Elasticsearch 容器完全启动(约 30~60 秒),观察 logs 是否恢复连接。
- 如问题依旧,检查 Elasticsearch 容器日志:
docker logs ragflow-es-01排查是否有内存不足、磁盘空间不足等错误。
- 确认
con/service_conf.yaml中es.hosts的 URL 是否正确(http://es01:1200是容器内部地址,无需修改)。
验证方法
执行 docker logs -f ragflow-server,观察不再输出连接错误,同时出现类似 connected to elasticsearch 或正常启动的日志信息;或通过浏览器访问 RAGFlow Web 界面确认服务正常。



