Шлюз (gateway) - это узел сети, который позволяет связать разные сети и обеспечивает маршрутизацию пакетов данных между ними.
Шлюз может выполнять различные функции, например, переводить адреса сети, обеспечивать согласование протоколов разных уровней сетевой модели OSI, фильтровать трафик и т.д.
В контексте Docker, хост-шлюз (host-gateway) - это IP-адрес хоста (машину, на которой работает Docker), который используется в качестве шлюза по умолчанию для контейнеров.
Контейнеры, запущенные в среде gateway docker, имеют свой собственный виртуальный сетевой интерфейс и IP-адрес, но для связи с другими сетями они должны использовать шлюз по умолчанию, который, как уже было сказано, должен быть идентичен
IP-адресу хоста-шлюза в Docker.
docker run --rm alpine ip route | awk 'NR==1 {print $3}'
Эта команда запускает контейнер Alpine, выводит информацию о маршрутизации с помощью утилиты ip route и извлекает IP-адрес шлюза из первой строки вывода с помощью утилиты awk.
ip route show | grep default | awk '{print $3}'
или
route -n | grep UG | awk '{print $2}'
В обоих случаях команды выводят IP-адрес шлюза по умолчанию, который должен быть идентичен IP-адресу хоста-шлюза в Docker.