无法连接到Docker Redis(Redis已启动并正在运行)

时间:2019-12-07 06:02:33

标签: docker redis docker-compose

我正在尝试在现有的python应用程序中使用redis。一切正常,但是,每当我尝试进入127.0.0.1:4123(又名索引页)时,我都收到连接被拒绝的错误。

这是我的docker-compose文件

version: "3"
services:
  backend:
    build:
      context: backend_server/
    deploy:
      mode: replicated
      replicas: 5
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
      # service update configuration
      update_config:
        parallelism: 1
        delay: 10s
        failure_action: continue
        monitor: 60s
        max_failure_ratio: 0.3
    depends_on:
      - "redis_cache"
    environment:
      - REDIS_HOST=redis_cache
      - REDIS_PORT=5789 
    volumes:
      - /home/$USER/.raster/:/app/_images/
    ports:
      - "7777"
    networks:
      - backend_bridge
    restart: always
    command: ["python", "prod_run.py"]

  nginx:
    build:
      context: nginx/
    deploy:
      restart_policy:
        condition: on-failure
    depends_on:
      - "backend"
    ports:
      - "4123:80"
    networks:
      - backend_bridge
    restart: always

  redis_cache:
    build:
      context: redis/
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - /home/$USER/.redis/:/data
    restart: on-failure
    networks:
      - backend_bridge
    ports:
      - "5789:5789"

networks:
  backend_bridge:
    driver: bridge

我正在使用 docker-compose up --build 命令在本地计算机上进行测试。 (我知道部署命令将不起作用。它们是针对群体的。)

这是我尝试访问127.0.0.1:4123时收到的消息

redis.exceptions.ConnectionError: Error 111 connecting to redis_cache:5789. Connection refused.

我在做什么错? TIA

======================

更新#1

我使用 docker run 命令运行redis映像,以暴露端口并使用 redis-cli -h 127.0.0.1 -p 5555 ,它已连接。但是,我收到以下消息,用于 ping

127.0.0.1:5555> ping
Error: Connection reset by peer
127.0.0.1:5555> 

1 个答案:

答案 0 :(得分:0)

原来这个问题的答案隐藏在github问题的深处

https://github.com/docker-library/redis/issues/45#issuecomment-219140550

长话短说,我不得不删除绑定地址并将保护模式设置为否。

有效。干杯

相关问题