Подключение контейнера Docker к сетевому интерфейсу / устройству вместо IP-адреса

После тщательного исследования, тестирования и перебора я только смог найти способ подключения контейнера Docker к данному интерфейсу путем переадресации с IP / порта. Это может быть достигнуто путем добавления-p Host-IP:Host-Port:Container-Port кdocker run команда.

У меня есть приложение, которое прослушивает широковещательные рассылки UDP (255.255.255.255), и мне не удалось настроить переадресацию таким образом, чтобы мой контейнер получал эти широковещательные сообщения без пересылки всего сетевого трафика на порт, который мне нужен (независимо от того, через какой интерфейс это входит), то есть:-p Host-Port:Container-Port.

Можно настроить контейнер с--net=host и просто написать свой код для привязки к определенному интерфейсу, который я сделал и протестировал, но это все равно идет вразрез с основной идеей контейнера. Цель состоит в том, чтобы несколько контейнеров одного приложения прослушивали разные сетевые интерфейсы (как на устройствах, а не на адресах).

Любые идеи о том, как я мог это сделать?

РЕДАКТИРОВАТЬ # 1Подумав об этом еще немного, возможно, что установки моста через требуемый интерфейс будет достаточно, но я не доверяю ОС отправлять широковещательные пакеты через него. Оставайтесь с нами, пока я выполняю больше тестов.

РЕДАКТИРОВАТЬ № 2: Пакеты отправляются по мосту просто отлично. Однако мост настроен как мост Docker по умолчанию. Я не смог понять, как запускать контейнеры на разных мостах. Видел некоторые заметки, которые указывают на настройку сети на--net=none и настроить его самостоятельно через настройки контейнера lxc.

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

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