【问题标题】:Can docker containers be made FULLY visible over the host network?docker 容器可以在主机网络上完全可见吗?
【发布时间】:2017-12-06 05:30:10
【问题描述】:

在我们的办公室,我们有一个由 10 台计算机组成的小型集群。一些计算机还托管虚拟机(使用 VirtualBox)。我们为虚拟机使用桥接网络,以便虚拟机可以通过主机网络完全访问。虚拟机的 IP 地址来自与实际计算机相同的池 (192.168.0.xxx)。

是否可以使用 docker 容器来完成同样的事情?请注意,我们所有的计算机和虚拟机都在运行 Ubuntu 17.10 (artful aardvark)。

我知道可以在 docker 容器和主机之间进行端口转发。但我们想要的不止这些!我们希望 docker 容器直接从主机网络(即 192.168.0.xxx)接收 IP 地址。你能告诉这是否可能吗?如果是,如何实现?谢谢!

【问题讨论】:

    标签: docker networking


    【解决方案1】:

    是的,可以通过'macVlan'网络驱动来完成。

    首先,你需要创建一个macvlan网络:

    docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 mynet
    

    此命令将创建一个 macVlan 网络,它的子网和网关与主机的配置相同

    而且,您可以使用特定网络运行 docker 容器:

    docker run --net=mynet -it --rm alpine:latest /bin/sh
    

    就是这样。您可以获取容器的 IP 并尝试在其他主机上 ping 它。

    PS:母主机无法访问容器。

    参考文档:https://docs.docker.com/engine/userguide/networking/get-started-macvlan/

    【讨论】:

      猜你喜欢
      • 2019-08-25
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 2015-09-28
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多