使用Python连接redis Sentinel导致MasterNotFound错误

Dat*_*ery 5 python redis redis-sentinel

我对 Docker-Compose 有以下设置:

version: '2'

services:
  redis-sentinel:
    image: docker.io/bitnami/redis-sentinel:6.2
    volumes:
      - redis-sentinel_data:/bitnami
  redis:
    image: docker.io/bitnami/redis:6.2
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
    volumes:
      - redis_data:/bitnami
volumes:
  redis-sentinel_data:
    driver: local
  redis_data:
    driver: local
Run Code Online (Sandbox Code Playgroud)

我的主人的名字应该是mymaster

(base)>docker exec redis_redis-sentinel_1 redis-cli -p 26379 sentinel get-master-addr-by-name mymaster
192.168.80.3
6379
Run Code Online (Sandbox Code Playgroud)

我尝试通过 Python 连接:

from redis.sentinel import Sentinel

sentinel = Sentinel([("localhost", 26379)], socket_timeout=0.5)
r = sentinel.master_for("mymaster")
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误。

redis.sentinel.MasterNotFoundError: No master found for 'mymaster'
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

那么我在这里做错了什么?