Я пытаюсь понять, что происходит под капотом, к сетевому пакету, идущему от провода, подключенного к главной машине, и направленному на приложение внутри контейнера Docker.
Если это классическая виртуальная машина, я знаю, что пакет, поступающий на хост, будет передаваться гипервизором (скажем, VMware, VBox и т.д.) виртуальному сетевому адаптеру виртуальной машины и оттуда через стек TCP/IP гостевой ОС, наконец, добравшись до приложения.
В случае Docker я знаю, что пакет, поступающий на хост-машину, пересылается из сетевого интерфейса хоста на мост docker0
, который подключен к паре veth
, заканчивающейся на виртуальном интерфейсе eth0
внутри контейнера. Но после этого? Поскольку все контейнеры Docker используют ядро хоста, правильно ли предположить, что пакет обрабатывается стеком TCP/IP ядра ядра? Если да, то как?
Мне бы очень хотелось прочитать объяснение подробное (или если вы знаете, что ресурс не стесняйтесь связывать его) о том, что на самом деле происходит под капотом. Я уже внимательно прочитал эту страницу, но он не сказал все.
Заранее благодарим за ваш ответ.