You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose部署Flask+MongoDB时遭遇连接超时错误求助

解决连接超时问题的步骤

1. 修复请求中的错误IP地址

你的POST请求里使用了无效的回环地址127.0.0.0,正确的本地回环地址应为127.0.0.1或localhost。修改后的请求代码:

import requests
requests.post('http://127.0.0.1:8000/this', headers={'Content-Type': 'application/json'}, json={'a': 1})

2. 验证容器运行状态

执行命令检查所有服务是否正常启动:

docker-compose ps

确保web、mongodb、redis三个服务的状态均为Up。若web服务未启动,查看日志排查问题:

docker-compose logs web

3. 确认端口映射有效性

你的docker-compose.yml已配置主机8000端口映射到容器5000端口(8000:5000),可通过以下命令验证端口是否被监听:

# macOS/Linux
lsof -i :8000
# Windows
netstat -ano | findstr :8000

若端口未被监听,重启docker-compose服务:

docker-compose down && docker-compose up -d

4. 检查容器内部服务响应性

进入web容器内部,测试Flask服务是否正常运行:

docker-compose exec web curl http://localhost:5000/this -X POST -H "Content-Type: application/json" -d '{"a":1}'

如果能正常执行,说明容器内部服务正常,问题出在外部访问配置上。

5. 优化Flask接口返回值(可选)

当前/this接口无返回响应,建议添加返回值方便调试:

@app.route('/this', methods=['POST'])
def this():
    db = g.conn.warehouse
    clx = db.this
    if request.method == 'POST':
        data = request.get_json()
        print(data)
        clx.insert_one(data)
        return {'status': 'success', 'data': data}, 201  # 添加响应内容

内容的提问来源于stack exchange,提问作者CPak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:39:25