Докер роится с кастомной сетью

Я пытаюсь понять, как правильно использовать режим роя в Docker. Сначала я попытался запустить контейнеры на своих 2 рабочих и управляющем компьютере без указания пользовательской сети (поэтому я использую входную оверлейную сеть по умолчанию). Однако, если я использую входную сеть, по какой-то причине я не могу решитьtasks.myservice.

Поэтому я попытался настроить пользовательскую сеть следующим образом:

docker network create -d overlay elasticnet

Так что теперь, когда яbash в один из контейнеров, я могу успешно решитьtasks.myservice но я больше не могу получить доступ к порту, который я определил при создании службы под--publish внешне (что я мог, когда я использовал входную сеть).

Есть ли способ либо:

Используйте входную сеть и сможете решитьtasks.myservice или любая другая запись DNS, которая будет направлена ​​на все мои сервисные контейнеры?

Или используйте пользовательскую сеть, но--publish порты правильно, чтобы я мог получить к ним доступ извне?

РЕДАКТИРОВАТЬ

Вот как я создаю свой сервис,

Без кастомной сети:

docker service create --replicas 3 --label elasticsearch --endpoint-mode vip --name elastic -e ES_HOSTS="tasks.elastic" --publish 9200:9200 --mount type=bind,source=/tmp/es,destination=/usr/share/elasticsearch/config  --update-delay 10s   es:latest

С пользовательской сетью:

docker service create --replicas 3 --network elasticnet --label elasticsearch --endpoint-mode vip --name elastic -e ES_HOSTS="tasks.elastic" --publish 9200:9200 --mount type=bind,source=/tmp/es,destination=/usr/share/elasticsearch/config  --update-delay 10s   es:latest

Ответы на вопрос(2)

Ваш ответ на вопрос