Не удалось подключиться или обнаружить REDIS в менеджере Docker - PullRequest
0 голосов
/ 28 июня 2019

У меня есть 2 машины, одна инициализирована как менеджер, а другие присоединились как рабочий.У меня есть приложение nodejs и redis, где redis находится в узле менеджера.

Когда я пытаюсь масштабировать службу приложения nodejs, реплики в узле Manager могут обнаруживать Redis, но контейнеры в рабочем узле не могут

Я заменил имя хоста 'hp-redis' на IP, но я не хочу делать это в производственной среде

services:
  api:
    image: 'xxxx'
    ports:
      - '3000:3000'
    volumes:
      - type: volume
        source: hp-api-dev
        target: /usr/src/app/
      - type: volume
        source: logs
        target: /usr/src/app/logs/
      - type: bind
        source: /var/www/xxxx/
        target: /uploads
      - type: bind
        source: /etc/localtime
        target: /etc/localtime
        read_only: true
    deploy:
      replicas: 1
      restart_policy:
        max_attempts: 3
        condition: on-failure
      update_config:
        parallelism: 1
        delay: 10s
    networks:
      - webnetwork
    depends_on:
      - hp-redis
  hp-redis:
    image: 'redis:4.0'
    deploy:
      mode: global
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: '0.1'
          memory: 100M
      placement:
        constraints:
          - 'node.role == manager'
    ports:
      - '6379:6379'
    expose:
      - "6379"
    volumes:
      - type: bind
        source: /Data/redis/
        target: /home/docker/data
        read_only: true
    networks:
      - webnetwork
networks:
  webnetwork:
    driver: overlay
volumes:
  hp-api-dev:
  logs:
...