2013-09-11 2 views
6

Я новичок в Докер. Можно ли назначить IP-адрес (с DHCP-сервера) контейнерам Docker, работающим на хосте или виртуальной машине? Если да, может кто-нибудь указать мне в правильном направлении. Если нет, это фундаментальное ограничение контейнерного подхода, или это просто функция, которая еще не находится в Docker.Назначение IP-адреса для контейнеров-докеров?

ответ

1

Caveat - Docker находится в тяжелом состоянии, поэтому рекомендуется подтвердить текущие документы.

Элемент сети является одним из тех, что обсуждаются в настоящее время на docker-dev, похоже, что долгосрочная интеграция с libvirt рассматривается. Поэтому, чтобы ответить на ваш вопрос NET DHCP или что-то, возможно, не реализовано так, как вам хотелось бы.

Описывается то, как реализована сеть Докера, in this blog post. В настоящее время набор диапазонов IP находится в CreateBridgeIface в network.go.

В то же время вы можете проверить pipework, который является инструментом, предназначенным для использования с Docker для различной конфигурации сети. Это позволит вам добавлять и изменять IP-адреса в вашем контейнере, создавать частные сети и подключать контейнеры к физическому интерфейсу. В конце это обертывание инструментов нижнего уровня, но вы можете найти с помощью pipework проще.

5

Docker эволюционировала много на протяжении последних так для Докер 0.6.5:

Контейнеры имеют свои собственные IP-адресов в настоящее время. Вы можете проверить IP-адрес контейнера с помощью докер команды проверки или если вы заинтересованы в извлечении его можно использовать:

docker inspect container_name | grep IPAddress | cut -d '"' -f 4. 
+0

Я желаю докер имел команду Ip ... Докер ф container_name например .. хотя легко достаточно написать сценарий оболочки, чтобы обернуть выше. – Tracker1

+0

Я не думаю, что метка точки требуется после -f 4, код должен быть 'docker inspect container_name | grep IPAddress | cut -d '"' -f 4' – Unferth

+6

Кроме того, вы можете выполнить' docker inspect -format = "{{. NetworkSettings.IPAddress}}" container_name', пропуская остальные команды оболочки – Miquella

Смежные вопросы