Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用traefik时拒绝Redis连接_Redis_Traefik - Fatal编程技术网

使用traefik时拒绝Redis连接

使用traefik时拒绝Redis连接,redis,traefik,Redis,Traefik,我很难使用traefik为我的所有应用程序配置一个redis容器。这是我的配置: 1-Traefik和Redis的Docker compose: 版本:“2” services: proxy: container_name: traefik image: traefik:1.3.6-alpine command: --docker ports: - 80:80 volumes: - /var/run/docker.sock:/v

我很难使用traefik为我的所有应用程序配置一个redis容器。这是我的配置:

1-Traefik和Redis的Docker compose: 版本:“2”

services:
  proxy:
    container_name: traefik
    image: traefik:1.3.6-alpine
    command: --docker
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
    networks:
      - proxy
    labels:
      - traefik.frontend.rule=Host:monitor.company.dev
      - traefik.port=8080

redis:
    container_name: main_redis
    image: redis:3.2
    restart: always
    volumes:
      - ./data/redis:/data
    networks:
      - proxy
    labels:
      - traefik.backend=main-redis
      - traefik.default.protocol=http
      - traefik.frontend.rule=Host:main-redis.company.dev
      - traefik.docker.network=proxy
      - traefik.port=6379

networks:
  proxy:
    external: true
2-Docker compose用于我的PHP应用程序

version: '2'

services:
  ...


  php:
    container_name: myapp_php
    build: ./docker/php # php:7.1-fpm base image

    networks:
      - internal
      - proxy
    labels:
      - traefik.enable=false
      - traefik.docker.network=proxy
    expose:
      - 9000

networks:
  proxy:
    external: true
  internal:
    external: false
我试图在两个端口
6379
80
上将我的php应用程序连接到
main redis.company.dev
,但收到一条
redis::connect():connect()失败:连接被拒绝
消息

我还在我的
redis.conf
中更改了这些内容: 用
bind 127.0.0.1对行进行了注释
并将
保护模式
更改为


我的docker容器保持在同一个网络中,因此我认为它应该可以工作。有人知道我为什么会遇到这个问题吗?

首先,从您的redis服务定义中删除traefik标签,traefik目前(2017年11月)是一个HTTP代理,因此您不能像那样公开端点

请看这里:

然后,要将php服务连接到redis服务,看起来您正在尝试在同一个docker实例中(而不是在外部)进行连接

与主redis.company.dev:6379不同,它应该类似于以下内容之一:

  • redis:6379
  • main_redis:6379
  • %项目名称%\u redis:6379

根据您部署容器的方式

发生了什么?你应该提出一个明确的问题:)我在尝试从我的应用程序连接到主redis时遇到“连接被拒绝”错误。