【问题标题】:Is there a way to rename network interfaces in Docker swarm?有没有办法重命名 Docker swarm 中的网络接口?
【发布时间】:2017-03-30 06:44:22
【问题描述】:

当使用 Docker swarm 模式并将端口暴露在外部时,你至少有三个网络,入口网络、桥接网络和覆盖网络(用于内部集群通信)。容器使用eth0-2(每次随机)接口之一加入这些网络,从应用程序的角度来看,不容易理解其中哪个是集群网络(用于服务发现客户端发布的正确网络 - 例如 Spring尤里卡)。 有没有办法以某种方式自定义网络接口名称?

【问题讨论】:

    标签: networking docker docker-swarm-mode


    【解决方案1】:

    不是直接回答您的问题,但 swarm 模式的主要卖点之一是内置的服务发现机制,在我看来,它的效果非常好。

    更相关的是,我认为不可能为覆盖网络指定所需的接口。但是,在创建网络时,可以定义网络的子网或 IP 范围 (https://docs.docker.com/engine/reference/commandline/network_create/)。您可以使用它来识别属于您的覆盖网络的接口,方法是检查绑定的 IP 地址是否是您要发布的网络的一部分。

    【讨论】:

    • 为了确保这可能是有用的信息,问题是 Spring Eureka 只允许过滤接口名称,而不是 IP 地址。无论如何,让这些网络接口具有相同的名称并随机排序根本没有帮助。
    • 不是 100% 确定,但是通过谷歌搜索得到了这个 github.com/spring-cloud/spring-cloud-netflix/issues/788,然后是这个 github.com/spring-cloud/spring-cloud-commons/issues/114,这让我相信现在有一个 preferredNetworks 选项,也许这就是你一起使用的东西指定覆盖子网?
    • 你是对的,这是在最近的版本中添加的。我找到了描述它的正确文档here。我将您的答案标记为正确,因为它解决了我的问题,即使它不包括如何重命名 Docker 网络接口。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多