У нас есть докционированное серверное приложение, которое выполняет автоматическое обнаружение физических устройств в сети, прослушивая многоадресные пакеты на порте 6969. Таким образом, нам нужен наш контейнер докеров, чтобы иметь возможность принимать эти пакеты с устройств за пределами хост, через хост и в контейнер. Я видел issues и сделал alotofreading, но я все еще не могу заставить сервер отвечать на эти многоадресные пакеты.Докеры, принимающие многоадресный трафик
Я сижу на Wireshark, наблюдая за сетевым трафиком, но я не специалист. Я знаю, что Docker создает адрес MASQUERADE
, чтобы весь трафик выглядел так, как будто он идет от шлюза Docker, поэтому, когда я смотрю veth
, я вижу, что в основном разговаривают между 172.17.0.1
и 172.17.0.2
, хотя мой сервер не может получить информацию об устройствах в сети. (Если я бегу за пределами докера, у меня проблем нет.)
Я не могу использовать --net=host
, так как, как и другие, мы используем функцию --link
. Я попытался следующие варианты ...
docker run --name app -p 6969:6969 -d me/app:latest
docker run --name app -p 0.0.0.0:6969:6969 -d me/app:latest
(Это один я мог бы поклясться, работал один раз, но теперь нет?)docker run --name app -p 0.0.0.0:6969:6969/udp -d me/app:latest
docker run --name app -p 255.255.255.255:6969:6969 -d me/app:latest
Любая помощь или понимание, которые вы могли бы предоставить, были бы весьма признательны.
Ответчик @ValeriySolovyov работает для вас? – blz