Подключение к серверу BACNET на хост-машине с использованием клиентского контейнера - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь подключить мой клиент BACNET, который был упакован, и сервер BACNET, работающий на хост-компьютере.Я использую Docker для Windows на Windows 10 (хост-компьютер) с контейнерами Linux.Я пробовал следующее:

a.Публикация портов 47808 для клиентского контейнера с помощью команды run.

б.Запуск контейнера с сетью = хост, для доступа к сервисам localhost.

c.Попытался указать IP-адрес шлюза в качестве IP-адреса сервера с помощью команды run.

d.Запуск контейнера в той же подсети, что и мой сервер

e.Запуск контейнера с указанным IP-адресом хоста и опубликованными портами.Мой bacnet-сервер, взятый из https://sourceforge.net/projects/bacnet/, всегда подключается к DockerNAT, 10.0.75.1?Есть идеи, почему это происходит?Серверное приложение - это не контейнер, а исполняемый файл.

IP-адрес сервера: 10.0.75.1 (dockerNAT) Клиентский контейнер, работающий на хост-компьютере.

1 Ответ

0 голосов
/ 25 сентября 2018

От быстрого Google:

Для контейнеров Windows этот компонент не используется, и контейнеры и их порты доступны только через IP-адрес NATed.

Относительнодля BACnet, это поставит вас в мир боли.Для этого вам нужно будет использовать BACnet BBMD с поддержкой NAT в вашем контейнере, и ваш клиент BACnet должен будет зарегистрироваться как внешнее устройство BACnet.У стека BACnet в SourceForge, похоже, есть некоторая поддержка NAT (кажется, что код есть, но я никогда не проверял его в исходном виде). ​​

Итак, то, что вы видите, «ожидаемо», но ваше решениепотребует, чтобы вы стали намного более знакомыми с BBMD BACnet, чем вы когда-либо хотели.Внимательно прочитайте спецификацию BACnet.Удачи.

...