从容器内部识别覆盖网络

时间:2016-11-24 00:43:23

标签: docker docker-swarm

我的docker容器中有一个连接到多个覆盖网络的进程,它只能绑定到特定的覆盖网络接口(它通过传递的env vars知道它的名称),以便覆盖网络中的其余容器能够和它说话。

容器如何从内部识别哪个给定网络接口是哪个覆盖网络接口?

1 个答案:

答案 0 :(得分:-1)

如果您已经知道网络详细信息,则可以在容器内运行以下命令以获取主机名:

hostname -i

这将为您提供覆盖网络的IP。

另一种方法是将网络名称作为运行时参数传递,如下所示:

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

在容器内:

echo $NETOWRK
MY_NETWORK