Skip to main content

Що таке host мережа?

host - це тип Docker-мережі, при якому контейнер не отримує власного мережевого простору, а використовує мережевий стек хоста напряму. Тобто контейнер «живе» в мережі хостової машини і працює як звичайний процес на ній.


Як це виглядає

  • у контейнера немає окремої IP-адреси;
  • він використовує IP хоста;
  • порти контейнера і порти хоста - це одне й те саме.

Приклад запуску:

bash
docker run --network host nginx

Тепер Nginx буде доступний на порту хоста без -p 80:80.


Коли це зручно

  • коли потрібна максимальна швидкість мережі (без NAT);
  • коли застосунок працює з мережевими інтерфейсами напряму (VPN, моніторинг, мережеві демони);
  • коли важливий прямий доступ до localhost хоста.

Мінуси

МінусСуть
Немає ізоляціїКонтейнер ділить мережу з хостом, вищі ризики
Можливі конфлікти портівОдин порт - на весь сервер
Менш гнучкоСкладніше керувати мережевими правилами

Підсумок

host-мережа - це режим, у якому Docker вимикає мережеву ізоляцію, і контейнер працює в мережі хоста. Режим швидкий і «прямий», але менш безпечний і менш гнучкий порівняно з bridge.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.