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
redis#u从机can';使用docker compose时无法到达redis_master_Docker_Redis_Docker Compose - Fatal编程技术网

redis#u从机can';使用docker compose时无法到达redis_master

redis#u从机can';使用docker compose时无法到达redis_master,docker,redis,docker-compose,Docker,Redis,Docker Compose,我使用docker compose和四个postgres容器,一个redis_主容器和一个redis_从容器。redis服务器正常启动,但在启动后大约每8小时,从属服务器就无法到达主服务器进行复制。docker compose日志显示redis_master的以下错误日志: redis_master | 1:S 15 Jul 2020 11:39:05.338 * Connecting to MASTER UNKNOWN.IP:58270 redis_master

我使用docker compose和四个postgres容器,一个redis_主容器和一个redis_从容器。redis服务器正常启动,但在启动后大约每8小时,从属服务器就无法到达主服务器进行复制。docker compose日志显示redis_master的以下错误日志:

redis_master               | 1:S 15 Jul 2020 11:39:05.338 * Connecting to MASTER UNKNOWN.IP:58270
redis_master               | 1:S 15 Jul 2020 11:39:05.338 * MASTER  REPLICA sync started
redis_master               | 1:S 15 Jul 2020 11:39:05.497 # Error condition on socket for SYNC: Connection refused
redis_master               | 1:S 15 Jul 2020 11:39:06.341 * Connecting to MASTER UNKNOWN.IP:58270
redis_master               | 1:S 15 Jul 2020 11:39:06.341 * MASTER  REPLICA sync started
redis_master               | 1:S 15 Jul 2020 11:39:06.506 # Error condition on socket for SYNC: Connection refused
我正在使用redis的所有默认配置

docker-compose.yml


version: '2.2'
services:
  signal_account_database:
    image:          postgres:11
    container_name: postgres_account_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5431:5432'
    volumes:
      - ./postgres_database:/var/lib/postgresql/data
  signal_keys_database:
    image:          postgres:11
    container_name: postgres_keys_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5432:5432'
    volumes:
      - ./postgres_keys_database:/var/lib/postgresql/data
  signal_message_database:
    image:          postgres:11
    container_name: postgres_message_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5433:5432'
    volumes:
      - ./postgres_message_store:/var/lib/postgresql/data
  signal_abuse_database:
    image:          postgres:11
    container_name: postgres_abuse_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5434:5432'
    volumes:
      - ./postgres_abuse_database:/var/lib/postgresql/data
  redis_main:
    image: redis:5
    container_name: redis_master
    ports:
      - '6379:6379'
    volumes:
      - ./redis_main:/data
  redis_replication:
    image: redis:5
    container_name: redis_slave
    command: redis-server --port 6380
    ports:
      - '6380:6380'
    volumes:
      - ./redis_replication:/data
其他人是否也有相同的复制问题?正在寻求有关解决此问题的建议

WARN  [2020-07-15 13:58:42,036] org.eclipse.jetty.server.HttpChannel: /v1/websocket/
! redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only replica.
sudo docker-compose up

version: '2.2'
services:
  signal_account_database:
    image:          postgres:11
    container_name: postgres_account_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5431:5432'
    volumes:
      - ./postgres_database:/var/lib/postgresql/data
  signal_keys_database:
    image:          postgres:11
    container_name: postgres_keys_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5432:5432'
    volumes:
      - ./postgres_keys_database:/var/lib/postgresql/data
  signal_message_database:
    image:          postgres:11
    container_name: postgres_message_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5433:5432'
    volumes:
      - ./postgres_message_store:/var/lib/postgresql/data
  signal_abuse_database:
    image:          postgres:11
    container_name: postgres_abuse_database
    restart:        always
    environment:
      POSTGRES_USER:     postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB:       signal
      PGDATA:            /var/lib/postgresql/data/pgdata
    ports:
      - '5434:5432'
    volumes:
      - ./postgres_abuse_database:/var/lib/postgresql/data
  redis_main:
    image: redis:5
    container_name: redis_master
    ports:
      - '6379:6379'
    volumes:
      - ./redis_main:/data
  redis_replication:
    image: redis:5
    container_name: redis_slave
    command: redis-server --port 6380
    ports:
      - '6380:6380'
    volumes:
      - ./redis_replication:/data
redis_main:
    image: redis:5
    container_name: redis_master
    restart: always
    command: redis-server --port 6379
    ports:
      - '6379:6379'
    volumes:
      - ./redis_main:/data
  redis_replication:
    image: redis:5
    container_name: redis_slave
    command: redis-server --slaveof 127.0.0.1 6379 --port 6380 --slave-announce-ip 127.0.0.1
    ports:
      - '6380:6380'
    volumes:
      - ./redis_replication:/data


  sentinel:
    build: ./sentinel
    container_name: redis_sentinel
    restart: always
    command: redis-sentinel --port 26379
    ports:
      - '26379:26379'
    environment:
      - SENTINEL_NAME=mysentinel
      - HOST_IP=127.0.0.1
    volumes:
      - ./redis_slave:/data