Нет соединения в докере с открытыми и опубликованными портами - PullRequest
1 голос
/ 26 апреля 2019

У меня есть промежуточное программное обеспечение, работающее в док-контейнере.

Когда я запускаю это промежуточное ПО на моей хост-машине, все работает нормально .

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

Dockerfile:

EXPOSE 5672 15672 1337 1338 5556 3000

Докер-compose.yml

ports:
- "5672:5672"
- "15672:15672"
- "1337:1337"
- "1338:1338"
- "5556:5556"
- "3000:3000"

Это странно, потому что у меня есть изображение кролика и мула на этом изображении. Кролик работает хорошо, потому что я могу получить доступ к консоли управления и опубликовать в ней мое приложение mule.

У меня есть поток, который с кварцевым компонентом публикует в rabbitmq a каждые 30 мс, и работает хорошо.

Но у меня есть другой поток, который получает информацию во входящей конечной точке UDP и публикует ее в очереди rabbitmq. Входящая конечная точка ничего не получает, эта конечная точка прослушивает 0.0.0.0 и порт 1338, и я связываю 1338: 1338.

Так что, если я получаю пакеты на моем локальном хосте: 1338 на моем хост-компьютере, входящая конечная точка должна получить его нет?

Также в другом потоке у меня есть клиентский сокет j , который дает мне соединение повторно.

Странно то, что ничего такого не происходит, когда я запускаю это на своем хост-компьютере, а в докере я открываю и публикую порты.

Спасибо всем

1 Ответ

0 голосов
/ 07 мая 2019

Необходимо указать докеру, что это протокол udp.

ОТ:

-1338:1338

ДО:

- 1338:1338/udp
...