Контейнер Docker не может связаться с другими сервисами в течение нескольких секунд - PullRequest
0 голосов
/ 04 мая 2020

У меня есть docker роевой узел, на котором запущен набор docker сервисов, подключенных через оверлейную сеть. При необходимости я динамически добавляю еще один docker узел через terraform. Это будет отдельная установка экземпляра ec2, подключенная как рабочий узел к существующей сети роя.

Я запускаю контейнер из моего менеджера, и работающий контейнер должен общаться с существующими службами в узле менеджера. Например: подключение к сервису postgres и выполнение нескольких запросов.

docker -H <node ip> run --network <overlay network where services are running> <some image> <command>

Сценарий, выполняющийся в контейнере, завершается с ошибкой «Имя или служба не известна». Я попытался вручную пропинговать, вставив в контейнер, и через 4 или 5 секунд пинг завершился успешно. Я пробовал это сотни раз, и у меня всегда возникает одна и та же проблема. Кроме того, не имеет значения, когда узел присоединяется к рою. Каждый раз, когда я запускаю вышеуказанную команду, я сталкиваюсь с одной и той же проблемой.

Кроме того, я не могу контролировать, какой скрипт запускается в контейнере, поэтому я не могу добавить повторы.

Еще одна вещь. Иногда к некоторым услугам можно обратиться сразу. Например, Postgres не удастся. Но может быть достигнута другая услуга, предоставляющая конечные точки отдыха. Но это не всегда так.

Любая помощь?

...