• 问题描述

    Python连接docker容器中的Redis

  • 预备知识

  • [Errno 104] Connection reset by peer

    errno 104表示对一个对端socket已经关闭的连接调用write或send方法。这种情况下,调用write或者send之后,对端socket便会向本端socket发送一个Reset信号,之后继续执行write/read,就会得到104.

  • netstat -ntpl lsof -i:6379

    通过lsof -i:6379可以发现端口未开放。

  • 解决方案

    Docker容器中redis里,将redis.confbind修改为容器的ip地址, 然后redis-server配置文件。

    容器的ip地址查看方式:docker inspect 容器|grep -i add

  • References

  1. Random ConnectionErrors (104, Connection reset by peer) #1186
  2. errno 104:connetction reset by peer的错误分析
  3. Docker Compose demo from official website question
  4. 不可不知的网络命令-netstat
  5. netstat 的10个基本用法
  6. Docker Redis的官方镜像简单使用
  7. Docker系列~配置外部访问容器中的Redis服务(十)
  8. docker高级应用之赋予容器独立外网ip
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐