Bridge-сети — это стандартный вариант сетевого подключения при запуске Docker. Они позволяют контейнерам в одной bridge-сети общаться друг с другом, сохраняя при этом изоляцию от сети хоста. Это идеальный выбор для большинства контейнеризированных приложений.
Host-сети позволяют контейнерам напрямую использовать сетевые интерфейсы хоста, разделяя с ним сетевой namespace. Такой подход минимизирует сетевые накладные расходы, но жертвует изоляцией контейнера — использовать его нужно осторожно.
Пользовательские bridge-сети дают тебе больше контроля над взаимодействием контейнеров и их изоляцией. В отличие от стандартных bridge-сетей, контейнеры в пользовательских сетях могут общаться, используя имена контейнеров как hostname, что избавляет от необходимости вручную управлять IP-адресами.
Overlay-сети обеспечивают взаимодействие между несколькими хостами в Docker Swarm, позволяя сервисам, запущенным на разных узлах, беспрепятственно общаться друг с другом. Это must-have для оркестрированных контейнеризированных окружений.
Macvlan-сети назначают контейнерам собственные MAC-адреса в физической сети, обеспечивая прямой доступ к сети хоста. Этот вариант полезен, когда контейнеры должны выглядеть как физические устройства в сети.
# Создаём bridge-сеть
docker network create my_bridge_network
# Запускаем контейнер с host-сетью
docker run --name container1 --network host -d my_image
# Создаём пользовательскую bridge-сеть
docker network create my_custom_network
# Создаём overlay-сеть
docker network create --driver overlay my_overlay_network
Выбор зависит от твоих конкретных требований: используй bridge-сети для стандартных приложений, пользовательские сети для удобного резолвинга имён контейнеров, host-сети для производительно-критичных сценариев и overlay-сети для распределённых систем.
В пользовательских bridge-сетях контейнеры могут разрешать друг друга по имени контейнера без необходимости ручного управления IP-адресами, в то время как сеть default bridge не поддерживает эту функцию.
Новый — ещё не проверен сообществом
Вы