• docker-macvlan


    使用Macvlan网络

    某些应用程序,尤其是遗留应用程序或监视网络流量的应用程序,希望直接连接到物理网络。在这种情况下,可以使用macvlan网络驱动程序为每个容器的虚拟网络接口分配MAC地址,使其看起来像是直接连接到物理网络的物理网络接口。在这种情况下,需要在Docker主机上指定一个物理接口,用于Macvlan,以及Macvlan的子网和网关。甚至可以使用不同的物理网络接口隔离Macvlan网络。请记住以下事项:

    • 由于IP地址耗尽或“VLAN传播”,很容易无意中损坏您的网络,在这种情况下,您的网络中有大量不同的唯一MAC地址。
    • 网络设备需要能够处理“混杂模式”,其中一个物理接口可以分配多个MAC地址。
    • 如果的应用程序可以使用桥接器(在单个Docker主机上)或覆盖层(跨多个Docker主机进行通信),那么从长远来看,这些解决方案可能会更好。

    创建一个macvlan网络

    创建Macvlan网络时,它可以处于桥接模式或802.1q干线桥接模式。

    • 在桥接模式下,Macvlan流量通过主机上的物理设备。

    • 在802.1q中继桥接模式下,流量通过Docker在运行中创建的802.1q子接口。可以在更细粒度的级别上控制路由和筛选。

    桥接模式

    要创建与给定物理网络接口桥接的Macvlan网络,请使用--driver macvlandocker network create命令。还需要指定parent,这是流量将在Docker主机上实际通过的接口。

    $ docker network create -d macvlan 
      --subnet=172.16.86.0/24 
      --gateway=172.16.86.1  
      -o parent=eth0 pub_net
    

    如果需要排除在Macvlan网络中使用的IP地址,例如当已使用给定的IP地址时,请使用--aux-addresses

    $ docker network create -d macvlan  
      --subnet=192.168.32.0/24  
      --ip-range=192.168.32.128/25 
      --gateway=192.168.32.254  
      --aux-address="my-router=192.168.32.129" 
      -o parent=eth0 macnet32
    

    802.1q中继桥接模式

    如果指定parent包含点接口名称,例如eth0.50,Docker将其解释为子接口eth0并自动创建子接口。

    $ docker network  create  -d macvlan 
        --subnet=192.168.50.0/24 
        --gateway=192.168.50.1 
        -o parent=eth0.50 macvlan50
    

    使用ipvlan而不是macvlan

    在上面的示例中,仍在使用L3网桥。可以使用ipvlan ,然后获得L2桥接。指定-o ipvlan_mode=l2

    $ docker network create -d ipvlan 
        --subnet=192.168.210.0/24 
        --subnet=192.168.212.0/24 
        --gateway=192.168.210.254  
        --gateway=192.168.212.254  
         -o ipvlan_mode=l2 ipvlan210
    

    使用IPv6

    如果已将Docker守护程序配置为允许IPv6,则可以使用双栈IPv4 / IPv6 Macvlan网络。

    $ docker network  create  -d macvlan 
        --subnet=192.168.216.0/24 --subnet=192.168.218.0/24 
        --gateway=192.168.216.1  --gateway=192.168.218.1 
        --subnet=2001:db8:abc8::/64 --gateway=2001:db8:abc8::10 
         -o parent=eth0.218 
         -o macvlan_mode=bridge macvlan216
  • 相关阅读:
    MongoDB对比关系型数据库
    Swagger 打开时自动折叠
    更改Linux定时任务crontab启动基目录
    linux系统/etc/init.d目录下的开机自启脚本
    vue 中新窗口打开vue页面 (this.$router.resolve)
    树莓派4B如何手动固定IP地址
    树莓派无显示器设置WiFi、开启ssh、开启VNC
    递归
    学习-HTML5
    只是为了表示我还有在敲代码
  • 原文地址:https://www.cnblogs.com/wwchihiro/p/9303841.html
Copyright © 2020-2023  润新知