Не так уж новичок в Docker, но и не почти эксперт.

Я пытаюсь создать среду Docker, где пользовательский мост подключен к определенной сетевой карте.

Вариант использования - иметь выделенную изолированную лабораторную сеть, работающую на отдельном интерфейсе eth1 на моем ПК, с устройствами и службами, которые не могут видеть или мешать офисной / производственной сети, работающей на eth0.

Один из контейнеров, которые я собираюсь запустить, - это сервер DHCP, и я хочу выдавать только IP-адреса на eth1. Очевидно, что я не хочу выдавать IP-адреса остальной части офиса через eth0. Я читал документацию, смотрел видео, проводил онлайн-тренинги, читал блоги. Для меня то, чего я хочу достичь, является чем-то очень простым, но я не могу найти, как это сделать.

Есть идеи?

1 ответ1

0

Для вашей проблемы, я думаю, вы можете попытаться создать мост и связать его с NIC eht1. Шаги будут такими:

  1. отредактируйте файл конфигурации eth1 ifcfg-eth1:

  2. отредактируйте конфигурационный файл моста br0 ifcfg-br0:

  3. перезапустите сетевой сервис: service network restart

  4. найдите свой конфигурационный файл докера и измените DOCKER_NETWORK_OPTIONS на:

    DOCKER_NETWORK_OPTIONS="-b=br0"

  5. перезагрузите ваш докер-сервер

  6. создайте свой докер без сети:

    docker run -itd --net=none --name=dockerName yourImage

  7. установить сеть для вашего контейнера, и вам нужно установить инструмент трубопровода

    git clone https://github.com/jpetazzo/pipework cp ~/pipework/pipework /usr/local/bin/ pipework br0 dockerName 192.168.0.11/24@192.168.0.141

Примечание: IP-адрес контейнера - 192.168.0.11, маска сети - 24, а шлюз - 192.168.0.141. Вы можете изменить некоторые настройки в соответствии с вашими требованиями. Надеюсь, что это поможет вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .