【问题标题】:Unable to connect to Docker Redis (Redis is up and running)无法连接到 Docker Redis(Redis 已启动并正在运行)
【发布时间】:2019-12-07 14:29:39
【问题描述】:

我正在尝试将 redis 与我现有的 python 应用程序一起使用。一切都开始正常,但是,每当我尝试进入 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> 

【问题讨论】:

  • 5789 不是普通的 Redis 端口。你的redis/Dockerfile 里有什么?
  • 我在 redis_conf 文件中使用了 5789。另外,我已经修复了它,结果就是答案。

标签: docker redis docker-compose


【解决方案1】:

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

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

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

成功了。干杯

【讨论】:

    猜你喜欢
    • 2018-07-12
    • 1970-01-01
    • 2022-01-07
    • 2023-02-10
    • 2019-01-08
    • 2017-03-12
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多