Docker swarm redis 连接问题

问题描述 投票:0回答:1

我有以下

docker-compose.yml
redis 配置。

version: '3.5'

services:
  db:
    image: redis:latest
    command: redis-server --bind 0.0.0.0 --appendonly yes --protected-mode no

    ports:
      - target: 6379
        published: 6379
        protocol: tcp
        mode: ingress

有两个主机

leader-0
(经理)和
redis-0
(工人)

> root@leader-0:~# docker node ls
ID                            HOSTNAME               STATUS     
46tmallxr4l8xr7i90vlwntjq *   leader-0               Ready               
mofbedj4sqlxgnyatbxhlokc7     redis-0                Ready               

Redis 主机

redis-0
按预期在本地主机上公开 6379 端口:

> root@redis-0:~# redis-cli -h 127.0.0.1 ping
PONG

但是 6379 在管理器上不可用(尽管应该):

> root@leader-0:~# redis-cli -h 127.0.0.1 ping
Could not connect to Redis at 127.0.0.1:6379: Connection timed out

有趣的部分是:

  1. Connection timed out
    (不拒绝)。
  2. redis-cli -h 127.0.0.1 ping
    在其他工作主机上按预期工作(返回
    PONG
    )。

Docker 覆盖混搭网络应该在每台主机的本地接口上公开 6379 端口,但看起来出了问题,我搞砸了到底是什么。

管理主机上的其他服务工作正常(我可以

curl http://localhost:${SERVICE_PORT}/
)。

管理器主机与工作器主机具有相同的防火墙规则(+打开了其他端口)

docker redis swarm
1个回答
0
投票

遇到同样的问题,你找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.