【发布时间】:2016-11-25 04:19:34
【问题描述】:
我的 docker 容器中有一个进程连接到多个覆盖网络,它只能绑定到特定的覆盖网络接口(它通过传递的 env vars 知道它的名称),以便该覆盖网络中的其余容器将能够与它交谈。
容器如何从内部识别其给定网络接口中的哪一个是哪个覆盖网络接口?
【问题讨论】:
标签: docker docker-swarm
我的 docker 容器中有一个进程连接到多个覆盖网络,它只能绑定到特定的覆盖网络接口(它通过传递的 env vars 知道它的名称),以便该覆盖网络中的其余容器将能够与它交谈。
容器如何从内部识别其给定网络接口中的哪一个是哪个覆盖网络接口?
【问题讨论】:
标签: docker docker-swarm
如果您已经知道网络详细信息,那么您可以在容器内运行以下命令来获取主机名:
hostname -i
这将为您提供覆盖网络的 ip。
另一种方法是将网络名称作为运行时参数传递,如下所示:
docker run --name=myname -e NETWORK=MY_NETWORK --net=MY_NETWORK
在容器内:
echo $NETOWRK
MY_NETWORK
【讨论】: