Docker Macvlan 應用部署


Docker Macvlan 應用部署

MacVLAN有兩種橋接模式

  • Bridge模式:不創建子接口的情況下直接去橋接物理接口。直接橋接到與宿主級的同網段。
  • VLAN Bridge模式:創建子接口去橋接物理接口。可划分多個VLAN。

Macvlan Bridge模式 容器專屬網絡

1、節點1節點2操作:創建macvlan網絡

docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1.1 -o parent=ens33 macvlan_net
docker network create 創建網絡
-d 指定網絡驅動程序為macvlan
--subnet 指定一個子網段
--gateway 指定網關
-o parent=ens33 指定宿主接口
macvlan_net 自定義網絡名稱
命令解析
命令:docker network ls
NETWORK ID          NAME                           DRIVER              SCOPE
0a48ab454840        macvlan_net                    macvlan             local
查看網絡

注:如果需要訪問外網,需要將網絡設置為與宿主級相同網絡下。

注:本地不可訪問,因為橋接的本地網絡。

注:單個網卡只能綁定一次如重復添加會報如下錯誤。

# ens33網卡已被綁定,不多次綁定。
Error response from daemon: network dm-0a48ab454840 is already using parent interface ens33

# 刪除綁定網卡網絡集
docker network rm ID號
報錯

2、測試通信

macvlan-01# docker run -it --net macvlan_net --ip=172.100.1.10 busybox
macvlan-02# docker run -it --net macvlan_net --ip=172.100.1.11 busybox ping 172.100.1.10
docker run -it --net macvlan_net --ip=172.100.1.11 busybox ping 172.100.1.10
PING 172.100.1.10 (172.100.1.10): 56 data bytes
64 bytes from 172.100.1.10: seq=0 ttl=64 time=0.949 ms
64 bytes from 172.100.1.10: seq=1 ttl=64 time=0.316 ms
64 bytes from 172.100.1.10: seq=2 ttl=64 time=0.317 ms
64 bytes from 172.100.1.10: seq=3 ttl=64 time=0.310 ms

Macvlan VLAN Bridge模式 容器專屬網絡

1、節點1節點2操作:創建一個VLAN,VLAN ID 50

# ip link add link 宿主網卡 name 宿主網卡名字.子網卡名稱id type vlan id 50
ip link add link ens33 name ens33.50 type vlan id 50
# 重啟docker激活網卡
systemctl restart docker

2、節點1節點2操作:創建Macvlan網絡

docker network create -d macvlan --subnet=172.99.0.0/24 --gateway=172.99.0.1 -o parent=ens33.50 macvlan_net99
docker network create 創建網絡
-d 指定網絡驅動程序為macvlan
--subnet 指定一個子網段
--gateway 指定網關
-o parent=ens33 指定宿主接口
macvlan_net99 自定義網絡名稱
命令解析
命令:docker network ls
NETWORK ID          NAME                           DRIVER              SCOPE
f3b3b084f580        macvlan_net99                  macvlan   
查看網絡

3、測試互通

macvlan-01# docker run -it --net macvlan_net99 --ip=172.99.0.10 busybox
macvlan-02# docker run -it --net macvlan_net99 --ip=172.99.0.11 busybox ping 172.99.010

注:像這樣創建多個子網卡,來實現划分多個VLAN環境。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM