Распределение IP-адресов с DHCP-сервера в хост-сети по контейнерам Docker

Распределение IP-адресов с DHCP-сервера в хост-сети по контейнерам Docker

Я запускаю несколько служб в контейнерах docker для своей домашней лаборатории, и мне нужно, чтобы они были доступны с их собственных отдельных IP-адресов. Моя хост-система работает под управлением Debian "Bullseye".

Из документации Docker следует, что использование macvlanсети в режиме моста кажется естественным, и способ по умолчанию работает у меня корректно.

Однако я стараюсь использовать минимум ручных IP-адресов в своей сети и вместо этого стараюсь, чтобы мой DHCP-сервер назначал почти все IP-адреса, даже для других серверов. Конечно, затем я настраиваю свой DHCP так, чтобы он всегда назначал моим серверам одни и те же IP-адреса на основе MAC-адресов, но таким образом я могу легко переместить сервер из тестовой сети в свою "живую" сеть, просто изменив назначение IP-адресов на DHCP-сервере.

Я хочу иметь возможность делать то же самое и с контейнерами Docker, то есть назначать контейнерам Docker IP-адрес от DHCP в сети хостов.

По этому поводу я не нашел никакой информации в документации Docker, иэтот открытый вопроспри сбое сервера.

С моей точки зрения, есть два возможных пути:

  1. Создать (вручную) подынтерфейс на хосте с динамическим IP-адресом, а затем использовать hostсеть в Docker и привязать ее к (вручную) созданному подынтерфейсу?
  2. Как-то используйте macvlanсеть. Я не знаю, как ее нужно настроить, чтобы получить назначение DHCP.

Я хотел бы, чтобы мне предложили более приемлемое решение, или чтобы мне помогли продвинуться по маршруту 2, или чтобы мне подтвердили, что маршрут 1 — правильный путь.

решение1

Ознакомьтесь с этим проектом на GitHub.. Сетевой драйвер Docker для работы в сети на хост-мосте с выделенными DHCP IP-адресами

https://github.com/devplayer0/docker-net-dhcp

Связанный контент