Docker Macvlan 应用部署docker
MacVLAN有两种桥接模式网络
Macvlan Bridge模式 容器专属网络ide
一、节点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
注:若是须要访问外网,须要将网络设置为与宿主级相同网络下。spa
注:本地不可访问,由于桥接的本地网络。rest
注:单个网卡只能绑定一次如重复添加会报以下错误。code
# ens33网卡已被绑定,很少次绑定。 Error response from daemon: network dm-0a48ab454840 is already using parent interface ens33 # 删除绑定网卡网络集 docker network rm ID号
二、测试通讯blog
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节点2操做:建立一个VLAN,VLAN ID 50ip
# 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
二、节点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
三、测试互通
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环境。