Невозможно отправить / получить связь UDP между двумя Docker контейнерами на ОС Ma c - PullRequest
0 голосов
/ 08 января 2020

Я использую Docker Рабочий стол для Ма c на хосте, на нем запущены два контейнера.

  • Container-1: ОС на базе linux, работающая с серверной программой на основе UDP, прослушивающей порт 14xxx (udp://:14xxx/).

  • Контейнер-2: ОС на базе linux, python приложение, отправляющее / получающее данные через UDP-адрес как udp://14xxx/ без указания c Имя хоста.

Вопрос : Мое приложение python на Container-2 может отправлять через порт UDP, но никогда не получает ничего обратно от Container-1.

Учитывая, что UDP работает иначе, чем протоколы TCP и HTTP.

Как установить sh успешную связь UDP между двумя docker контейнерами, работающими на одном хосте (MacOS)?

Различные вещи , которые я пробовал, но не повезло.

  1. Попытка запуска обоих контейнеров с использованием опции --network host.

  2. Попытка создания новой docker сети testnet и запуск контейнеров с использованием опции --network testnet.

1 Ответ

0 голосов
/ 10 января 2020

Неважно. Я нашел решение.

Во-первых, это вовсе не было docker.

В моем приложении python на Container-2 я использовал переменные окружения для определения адреса UDP. По-видимому, эти переменные были установлены неправильно. Отсюда путаница / ошибка.

Во-вторых, "--network host" по-прежнему является допустимым аргументом для обоих работающих Docker контейнеров, чтобы убедиться, что они обнаруживают / общаются друг с другом.

Надеюсь, это поможет!

...