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

无法通过172.17.0.2:6379连接Docker Redis的问题求助

解决Docker Redis容器连接被拒绝(Error 111)的问题

以下是排查和解决该问题的具体步骤:

  • 检查容器运行状态
    先确认my_redis容器是否处于运行状态:

    docker ps
    

    如果容器状态不是Up,先启动容器:

    docker start my_redis
    

    若启动失败,查看容器日志定位问题:

    docker logs my_redis
    
  • 确认Redis绑定地址配置
    默认Redis可能仅绑定127.0.0.1,导致容器外无法通过内网IP访问。进入容器查看配置:

    docker exec -it my_redis cat /etc/redis/redis.conf | grep bind
    

    如果输出是bind 127.0.0.1,需要修改为允许所有IP访问。最简单的方式是删除现有容器,重新创建时指定启动参数:

    docker rm -f my_redis
    docker run -d --name my_redis redis redis-server --bind 0.0.0.0
    
  • 验证端口映射或网络连通性

    1. 若不想修改Redis绑定配置,可创建容器时映射宿主机端口:
      docker rm -f my_redis
      docker run -d --name my_redis -p 6379:6379 redis
      
      此时Python连接可直接使用localhost:
      import redis
      r = redis.Redis(host='localhost', port=6379)
      print(r.set('test', 'hello'))
      
    2. 测试宿主机到容器IP的连通性:
      nc -zv 172.17.0.2 6379
      
      若不通,检查宿主机防火墙是否拦截了Docker网段流量,可临时关闭防火墙测试:
      sudo ufw disable
      
  • 检查Python Redis库安装
    确保已正确安装Redis Python客户端:

    pip install redis
    

    连接时可先执行ping()测试连通性:

    import redis
    r = redis.Redis(host='172.17.0.2', port=6379)
    print(r.ping())
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:13:20