Networking 从docker compose容器到LAN主机的Zeroconf发现
对于物联网系统,要求基站自动发现附近的设备,然后连接到这些设备。基站上的软件使用docker compose进行部署 服务使用MDN(zeroconf)进行广告,并将自己标识为类型Networking 从docker compose容器到LAN主机的Zeroconf发现,networking,docker-compose,zeroconf,Networking,Docker Compose,Zeroconf,对于物联网系统,要求基站自动发现附近的设备,然后连接到这些设备。基站上的软件使用docker compose进行部署 服务使用MDN(zeroconf)进行广告,并将自己标识为类型mytype。客户端使用aiozeroconf发现与\u mytype.\u tcp.local.匹配的服务 问题是docker compose网络中的客户端无法在LAN网络中发现服务,即使它们是可以访问的 目前,我有以下设置: LAN (Wifi) - IoT device - ServiceA -
mytype
。客户端使用aiozeroconf发现与\u mytype.\u tcp.local.
匹配的服务
问题是docker compose网络中的客户端无法在LAN网络中发现服务,即使它们是可以访问的
目前,我有以下设置:
LAN (Wifi)
- IoT device
- ServiceA
- Host / base station
- ClientA
- Docker-compose network
- ServiceB
- ClientB
- ClientA同时找到ServiceA和ServiceB
- 客户端B找到服务B
- 主机上的avahi discover同时查找服务A和服务B
- ClientB可以使用LAN IP(192.168.x.x)连接到ServiceA
反射器/启用反射器
设置
启用后,守护进程将把所有mDNS数据包转发到所有其他网络接口,包括Docker网桥网络。
假设采用简单的网络体系结构,docker compose services现在将能够发现本地网络上的设备
在某些情况下,反射是不受欢迎的行为。如果主机连接到多个本地网络,其他主机可能会获得无法访问服务的mDNS数据包