В моем контейнере работает демон avahi. Мобильное устройство находится в той же сети, что и хост этого докера (linux in vm), и мобильное приложение отправляет пакет mDNS и ожидает, что пакет mDNS с мобильного устройства может быть найден демоном avahi enter code here
в контейнере. Кстати: хост - это Fedaro27 в ВМ.
- Образ контейнера и avahi не должны иметь проблем, так как это официальный релиз.
- Пакеты mDNS можно увидеть в докерепроверка хоста по Wireshark.
- В том же контейнере находится веб-сервер, к которому мобильное устройство может получить доступ через ip-вход (например: http://192.168.1.xx:8080)
docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 \
net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
-p 8080:80 --dns=127.0.0.1 -it --volume \
/dev/ttyACM0:/dev/ttyACM0 --privileged openthread/otbr \
--ncp-path /dev/ttyACM0
2> Ниже приведен результат ifconfig
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::42:cfff:fef7:6af2 prefixlen 64 scopeid 0x20<link>
ether 02:42:cf:f7:6a:f2 txqueuelen 0 (Ethernet)
RX packets 1161 bytes 364090 (355.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 55 bytes 7265 (7.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::ac79:aae9:d8ad:19b3 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:af:db:d0 txqueuelen 1000 (Ethernet)
RX packets 59922 bytes 78671020 (75.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 30041 bytes 2255156 (2.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 14 bytes 1500 (1.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14 bytes 1500 (1.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth4c4aef3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::5c3b:57ff:fe75:c77 prefixlen 64 scopeid 0x20<link>
ether 5e:3b:57:75:0c:77 txqueuelen 0 (Ethernet)
RX packets 36 bytes 4682 (4.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 182 bytes 23469 (22.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:86:84:76 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
В настоящее время avahi в контейнере не может видеть пакеты mDNS мобильного телефона. Либо интерфейс Ethernet (docker0) не может видеть эти пакеты (проверка по Wireshark). Как настроить параметры хоста или докера?