Я установил докеризованный кластер redis в Windows 10. Я мог подключиться к докерному кластеру из контейнера. Но когда я пытаюсь получить информацию о узле кластера из моего веб-приложения, которое не работает в Docker, это выдает мне ошибку
org.springframework.data.redis.ClusterStateFailureException: Не удалось получить информацию о кластере. КЛАСТЕРНЫЕ УЗЛЫ возвращены с ошибкой.
Я создал кластер redis по-разному, но ни один из них не работал для меня.
Создан кластер redis в режиме мостовой сети и опубликован соответствующий порт, но получена та же ошибка.
Пробовал разные порты сопоставления:
- только сопоставленный порт, пропущенный IP. Docker Inspect показывает отображение портов как (0.0.0.0:7000:6379)
- Предоставляется как IP, так и порт. IP (предоставляется IP-адрес хоста компьютера, 127.0.0.1, IP-адрес докера NAT). Проверка Docker отображает сопоставление портов как (127.0.0.1:7000-> 6379 / tcp), (hostip: 7000-> 6379 / tcp), (dockerNAtIP: 7000-> 6379 / tcp)
Создан кластер redis в режиме --network = host.
а. Не публиковать порт, так как это не идеально для этого.
б. Также публикуется порт таким же образом, как указано выше.
Но я получаю ту же ошибку.
Наконец, я выполнил настройку без докера в Windows, и я смог подключиться к кластеру Redis и получить информацию об узле.
Разве невозможно подключить докеризованный кластер redis из приложения, запущенного вне докера?
Пробовал со всеми этими шагами: