Pull to refresh

Comments 7

По части NAT — наступил на те же грабли. Полез смотреть, что за host.docker.internal — оказывается, оно в файл hosts тупо прописывает адрес хостовой машины. Ну и еще пару алиасов туда же: gateway.docker.internal на тот же хостовой адрес и kubernetes.docker.internal на loopback 127.0.0.1
Интересно, а как всё-таки они умудрились сделать сеть без сетевого адаптера у виртуалки?

Сначала нужно убедиться, что это именно так ifconfig -a в помощь. Для поддержки сети вовсе не обязательна эмуляция железа реального сетевого адаптера или виртуальный сетевой адаптер для общения с хост системой можно и в user space весь data link уровень сделать через tun/tap и подобные механизмы. Но конечно существуют и инвазивные методы встраивания в реализацию ipc4/ipv6 в ядре.

/ # traceroute -I host.docker.internal
traceroute to host.docker.internal (192.168.65.2), 30 hops max, 46 byte packets
 1  172.18.0.1 (172.18.0.1)  0.006 ms  0.006 ms  0.003 ms
 2  192.168.65.2 (192.168.65.2)  0.804 ms  0.868 ms  0.755 ms


Это tun/tap так работает?

/ # ifconfig -a
eth0      Link encap:Ethernet  HWaddr 02:42:AC:12:00:02  
          inet addr:172.18.0.2  Bcast:172.18.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:46 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3439 (3.3 KiB)  TX bytes:3071 (2.9 KiB)

ip6tnl0   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:1452  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)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:698 (698.0 B)  TX bytes:698 (698.0 B)

tunl0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:1480  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)

Непонятно зачем такая боль, если можно использовать docker под вменяемыми операционками, просто чтобы показать что умеете готовить кошек?

Всё гораздо прозаичнее — Docker под Windows я использую потому как разработка изначально была под виндой. И когда пришла необходимость написать пару-тройку микросервисов, которые должны в итоге работать в контейнерах, нужно было где-то отлаживать и контейнерную часть.

А вот то, что у заказчика контейнеры до сих пор живут под Docker for Windows — это да, артефакт ленивого меня. На время тестирования развернул такую же конфигурацию, как и на разработке, а вот поднять на виртуалке Ubuntu с докером и запустить весь зоопарк оттуда — всё никак не становится главным делом. Да и с IT отделом заказчика надо будет такие вещи согласовывать, а это всегда долго.

У меня история другая.
Периодически перестают синхронизироваться тома.
Причина не известна.
Даже перезагрузка не помогает.
Спустя некоторое время все само восстанавливается.


Docker desctop for Windows

Sign up to leave a comment.

Articles