Docker Macvlan 應用部署
阿新 • • 發佈:2018-11-03
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 busyboxmacvlan-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環境。