2016-11-24 8 views
0

У меня есть процесс внутри контейнера докера, который подключен к нескольким сетям наложения, и он должен привязываться только к определенному сетевому интерфейсу наложения (он знает свое имя через переданные env vars), так что остальные контейнеры в этой оверлейной сети смогут поговорить с ним.Идентифицировать сети наложения изнутри контейнера

Как контейнер может определить, какой из его сетевых интерфейсов является интерфейсом сетевого интерфейса сверху?

ответ

-1

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

hostname -i 

Это даст вам IP НАКЛАДКИ сети.

Другой путь будет проходить имя сети в качестве среды исполнения аргумента, например так:

docker run --name=myname -e NETWORK=MY_NETWORK --net=MY_NETWORK 

И внутри контейнера:

echo $NETOWRK 
MY_NETWORK 
+0

жаль, что я думаю, что я не ясно, о том, что контейнер находится на нескольких оверлейных сетях. как я узнаю, какой ip принадлежит какой-либо сети наложения? ничто из перечисленного не будет работать для этого. – iCode

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

  • Нет связанных вопросов^_^