При подключении объекта asyncio.server наблюдается странное поведение.
При первой попытке создать сервер я получаю правильную подсеть. Ниже приведена строка . объекта сервера, который возвращается из create_server:
<Server sockets=[<socket.socket fd=11, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('192.168.1.201', 11000)>]>
все последующие попытки дают следующий результат:
<Server sockets=[<socket.socket fd=11, family=AddressFamily.AF_INET, type=2049, proto=6, laddr=('172.17.0.1', 11000)>]>
, что не является правильнымподсети.Впоследствии, независимо от того, сколько времени я делаю это, я всегда получаю неправильную 172 подсеть.Интересно, что если я подожду ~ 10 минут или около того, ту же самую оболочку и все остальное, она снова создаст сервер 192.
Теперь я могу это исправить, просто жестко закодировав ip, но я бы хотел, чтобы он динамически вычислялсяправильный ip.
Ниже приведено возвращение ifconfig:
br-342acaa4303c Link encap:Ethernet HWaddr 02:42:be:b3:db:e1
inet addr:172.18.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
docker0 Link encap:Ethernet HWaddr 02:42:47:5a:65:5e
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:47ff:fe5a:655e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32679 errors:0 dropped:0 overruns:0 frame:0
TX packets:43453 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:15617732 (14.8 MiB) TX bytes:51666811 (49.2 MiB)
eth0 Link encap:Ethernet HWaddr 0c:c4:7a:c1:1e:5b
inet addr:192.168.1.201 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::ec4:7aff:fec1:1e5b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3643491 errors:0 dropped:0 overruns:0 frame:0
TX packets:674975 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5227031297 (4.8 GiB) TX bytes:481938346 (459.6 MiB)
Memory:df100000-df17ffff
eth1 Link encap:Ethernet HWaddr 0c:c4:7a:c1:1e:5a
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16 Memory:df200000-df220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:47936 errors:0 dropped:0 overruns:0 frame:0
TX packets:47936 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:423659124 (404.0 MiB) TX bytes:423659124 (404.0 MiB)
vethc2392f6 Link encap:Ethernet HWaddr ba:8f:5e:03:b1:cf
inet6 addr: fe80::b88f:5eff:fe03:b1cf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:18753 errors:0 dropped:0 overruns:0 frame:0
TX packets:21294 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:15111040 (14.4 MiB) TX bytes:18790175 (17.9 MiB)
Файл / etc / hosts на хосте:
127.0.0.1 localhost
127.0.1.1 <hostname>
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Обратите внимание, я делаюна машине запущен докер-контейнер, который, кажется, откуда идет 172, но я пытаюсь запустить процесс с хоста, а не с док-контейнера.У меня есть ощущение, что виноват докер, поэтому я добавил его в качестве тега.