【发布时间】:2018-09-25 04:25:22
【问题描述】:
我正在尝试连接已容器化的 BACNET 客户端和在主机上运行的 BACNET 服务器。我在带有 Linux 容器的 Windows 10(主机)上使用 Docker for Windows。 我尝试了以下方法:
一个。使用 run 命令发布客户端容器的端口 47808。
b.运行network=host的容器,访问localhost的服务。
c。尝试使用运行命令将网关 IP 指定为服务器的 IP 地址。
d。在与我的服务器相同的子网中运行容器
e。使用指定的主机 IP 和发布的端口运行容器。 我的 bacnet 服务器,取自 https://sourceforge.net/projects/bacnet/ 总是连接到 DockerNAT,10.0.75.1?知道为什么会这样吗?服务器应用程序不是一个容器,而是一个可执行文件。
服务器 IP:10.0.75.1 (dockerNAT) 在主机上运行的客户端容器。
【问题讨论】:
-
您介意重新阐述您的问题到底是什么吗?这是一个 bacnet 问题还是一个码头问题。很确定没有多少人知道
bacnet到底是什么,所以最好保持简单。 -
@SamuelToh 这更像是一个码头问题。我已经公开并发布了 47808 udp 端口,但似乎无法与我的主机上运行的 BACnet(楼宇自动化和控制网络)协议服务器建立连接。
-
我尝试从容器内访问主机上运行的其他服务(apache、sql),反之亦然,即在主机网络上运行我的容器/发布端口。注意:(这是客户端从容器内执行以查找服务器的广播查询)
-
你把容器的端口映射到主机了吗?如果是这样,您应该能够执行
localhost:1234之类的操作,其中 1234 是端口号。 -
我已将容器的端口 47808 映射到主机的端口。我运行的 docker 命令是: docker run -it --network=host --rm -p 47808:47808/udp --name=bacnetclient bacnetclient:14Sept /bin/bash。
标签: docker linux-containers bacnet