Файлы | Мануалы

Docker network сеть докера

Docker network сеть докера

Описание видов сетей докера и их настройка: none, bridge, host, macvlan, ipvlan.

Обзор сетей Docker

Docker сети

Основные команды для работы с сетями

  • network ls — список всех сетей
  • docker network rm $(docker network ls -q) — удалить все сети
  • docker network inspect bridge — исследовать сеть bridge
  • docker network create — создать сеть (по умолчанию тип bridge)
  • docker network connect NETWORK CONTAINER — подключить сеть к контейнеру
  • docker network disconnect NETWORK CONTAINER — отключить сеть от контейнера
  • docker network inspect x6d9725041b2 | NetworkID:"sdfsdfsfsdfsFDFFDFgb" — посмотреть ID сети

Работа с портами

  • -p Хостовый порт:Порт в контейнере
  • -p 9980:9980 — открыть порт
  • -p 9980:9980 -p 1111:1111 — открыть два порта
  • -p 0.0.0.0:9980:9980 — открыть порт только для IPv4
  • -p 127.0.0.1:9980:9980 — доступ только с хостового компьютера

Настройка IPv6

Создать файл /etc/docker/daemon.json с содержимым:

{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }

При создании сети использовать параметр --ipv6.

Типы сетей и их настройка

Создание сети MACVLAN

  • Включить режим promisc: sudo ip link set eth0 promisc on
  • На VirtualBox включить Promiscous Mode: Allow All
  • Пример команды:
    docker network create -d macvlan --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent=eth0

Создание сети IPVLAN

  • Клонирует MAC-адрес хостового интерфейса
  • Пример команды:
    docker network create -d ipvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1

Запуск контейнера с определённой сетью

Пример команды:

docker run --network=ipvlan1 --ip=192.168.10.100 --name CONTAINER1 CONTAINERIMG