【问题标题】:Specify linux interface for docker container为 docker 容器指定 linux 接口
【发布时间】:2015-12-21 23:36:23
【问题描述】:

是否可以通过某种方式指定 docker 容器应该使用哪个 linux 网络接口?我有多个接口,想为不同的容器使用不同的接口。

据我所知,我可以配置默认的 docker 网桥,但我无法为 docker 容器使用几个不同的网桥。

【问题讨论】:

    标签: docker docker-networking


    【解决方案1】:

    有几种方法可以回答您的问题。

    通常,容器是在内部“私有”网络上配置的,服务通过端口映射公开。使用这种机制,您只需通过为-p 选项指定不同的IP 地址,就可以在不同的接口上公开服务。例如,如果您的主机有:

    • eth0 在 192.168.10.10
    • eth1 在 192.168.20.20

    您可以像这样在eth0 上公开服务:

    docker run -p 192.168.10.10:80:80 httpd mywebserver
    

    像这样在 eth1 上:

    docker run -p 192.168.20.20:5432:5432 postgres mydatabaseserver
    

    在大多数情况下,这就是您想要的。

    技术上可以将容器直接连接到您的物理接口,但该过程需要人工干预(即使在 Docker 1.9 中增强了对多个容器网络的支持)。

    【讨论】:

    • 我还需要能够控制传出连接。
    • 也许您可以更新您的问题以提供您希望完成的具体示例?这样可以更轻松地提供解决您实际需求的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    相关资源
    最近更新 更多