У меня есть несколько стеков, работающих в Docker Swarm с traefik, где службы в каждом стеке подключены к оверлейной сети (traefik-net), поэтому traefik может общаться с ними.
Если у меня в каждом стеке есть служба, которая называется одним и тем же именем службы (service1), а затем есть другая служба (service2) в любом стеке, попробуйте получить к ней доступ по имени службы (ping http://service1), it ' Иногда я попаду в сервис1 в другой стек, а иногда в сервис 1 и тот же стек.
docker network create --driver overlay traefik-net
stack1:
services:
service1:
networks:
- default
- traefik-net
service2:
networks:
- default
- traefik-net
networks:
traefik-net:
external: true
stack2:
services:
service1:
networks:
- default
- traefik-net
networks:
traefik-net:
external: true
Я хочу, чтобы service2 работал только с service1, находящимся в том же стеке.
Я предположил, что служба может только ударить службу в другом стеке, добавив префикс имени стека к имени службы (ping http // stack2_service1). Но я узнал, что из-за наложенной сети traefik-net они, очевидно, могут вызывать друг друга без префикса имени стека.
Есть ли способ отключить обмен данными между стеками без префиксов имен стеков?
Или, может быть, есть конкретное решение проблемы?
Если кто-нибудь сталкивался с этой проблемой, я был бы очень признателен за решение.