У меня есть 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: