【问题标题】:Identify overlay networks from the inside of the container从容器内部识别覆盖网络
【发布时间】:2016-11-25 04:19:34
【问题描述】:

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

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

【问题讨论】:

    标签: docker docker-swarm


    【解决方案1】:

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

    hostname -i
    

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

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

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

    在容器内:

    echo $NETOWRK
    MY_NETWORK
    

    【讨论】:

    • 对不起,我想我不清楚容器位于多个覆盖网络上的事实。我怎么知道哪个 ip 属于哪个覆盖网络?以上都不行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多