Установка Docker приводит к тому, что $ hostname на хосте разрешается в подсеть Docker вместо LAN - PullRequest
0 голосов
/ 05 июня 2018

При подключении объекта 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, но я пытаюсь запустить процесс с хоста, а не с док-контейнера.У меня есть ощущение, что виноват докер, поэтому я добавил его в качестве тега.

...