Я пытаюсь использовать nginx-proxy с режимом Docker Swarm. У меня есть стек для nginx-proxy и стек для контейнера whoami, который реплицируется 3 раза.
Проблема в том, что когда я запрашиваю кластер, я всегда получаю ответ от одного и того же whoami. Когда я нажимаю docker service scale whoami_whoami=1
, nginx отвечает кодом состояния 503
, что означает, что он продолжает запрашивать одну из удаленных реплик.
# proxy.yml
version: '3.8'
networks:
proxy:
driver: overlay
name: proxy
services:
nginx:
image: jwilder/nginx-proxy:latest
networks:
- proxy
environment:
- HTTPS_METHOD=noredirect
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
# - ${CLU_ROOT}/proxy/certs:/etc/nginx/certs:ro
ports:
- 80:80
# - 443:443
deploy:
placement:
constraints:
- node.role == manager
# whoami.yml
version: '3.8'
networks:
proxy:
external: true
services:
whoami:
image: jwilder/whoami:latest
networks:
- proxy
environment:
- VIRTUAL_HOST=whoami.dev.interne.eseo.fr
deploy:
replicas: 3
Я думал, что nginx будет отправлять запросы к whoami и что роль Swarm заключалась в балансировке между репликами. Я ошибаюсь ?
С другой стороны, когда я публикую порт 8000
службы whoami и нажимаю: while sleep 1; do clear; curl whoami....:8000; done
, все ответы приходят из разных реплик.
заранее спасибо