Комментарии 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 for Windows — это да, артефакт ленивого меня. На время тестирования развернул такую же конфигурацию, как и на разработке, а вот поднять на виртуалке Ubuntu с докером и запустить весь зоопарк оттуда — всё никак не становится главным делом. Да и с IT отделом заказчика надо будет такие вещи согласовывать, а это всегда долго.
У меня история другая.
Периодически перестают синхронизироваться тома.
Причина не известна.
Даже перезагрузка не помогает.
Спустя некоторое время все само восстанавливается.
Docker desctop for Windows
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Исправление проблем под Docker. Казалось бы, при чём здесь GIT?