75 lines
3.1 KiB
Markdown
75 lines
3.1 KiB
Markdown
---
|
|
status: stable
|
|
type: concept
|
|
tags:
|
|
- devops
|
|
updated: 2026-02-27
|
|
title: Network Drivers - Docker
|
|
created: 2025-12-17
|
|
---
|
|
|
|
# Network Drivers - Docker
|
|
|
|
При работе с docker возникает необходимость обеспечить работу контейнеров в сети:
|
|
|
|
- настройка правил маршрутизации (iptables)
|
|
- формирование пакетов
|
|
- инкапсуляция пакетов
|
|
- шифрование и безопасность
|
|
|
|
Для этого используются Network Drivers
|
|
|
|
Сетевых драйверов поддерживаются несколько вариаций, каждый из них способен обеспечить все основные функции:
|
|
|
|
- bridge (мост)
|
|
- host
|
|
- overlay
|
|
- macvlan
|
|
- none
|
|
- 3rd-party plugins
|
|
|
|
**Bridge**
|
|
|
|
Объединение контейнеров в bridge-сеть:
|
|
|
|
- контейнеры обьеденены в сеть
|
|
- контейнеры в сети имеют связь друг с другом
|
|
- контейнеры из другой сети не имеют сетевой связности
|
|
- используется в docker **по умолчанию**
|
|
|
|
**Host**
|
|
|
|
Использует сеть хоста (удаляется сетевая изоляция)
|
|
|
|
- удаляет сетевую изоляцию между контейнером и хостом
|
|
- возможны проблемы с занятым портов, сетевыми ограничениями хостовой сети (поддерживается только в Linux)
|
|
|
|
**Overlay**
|
|
|
|
Создание сети для объединения контейнеров на разных хостах путем создания оверлейной сети
|
|
|
|
- не поддерживает шифрование на win-хостах
|
|
|
|
**MacVLAN**
|
|
|
|
Работа с контейнерами, как с физическими устройствами
|
|
|
|
- присваивает каждому контейнеру в сети физический MAC-адрес
|
|
- позволяет обращаться к контейнеру как к настоящему устройству
|
|
- поддерживается только в Linux
|
|
|
|
**None**
|
|
|
|
Отключение всех сетей в контейнере
|
|
|
|
- может быть использован для изоляции контейнера
|
|
|
|
## Работа С Bridge-сетями
|
|
|
|
Docker по умолчанию использует bridge-сеть, так как он позволяет добиться большей изоляции от внешних сетей хоста.
|
|
|
|
Контейнеры внутри одного "бриджа" не имеют доступа к другим из других бридж сетей.
|
|
|
|
Если нам нужна гибкая настройка сети внутри самого контейнера, потребуются доп. **capabilities** (например, **CAP_NET_ADMIN**)
|
|
|
|
В качестве альтернативы можно рассмотреть CNI-плагины (сторонние - 3rd-party) |