51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

macvlan技术实现docker跨主机通信

macvlan技术实现docker跨主机通信:

macvlan的优缺点
    优点:
        (1)docker原生支持,无需安装额外插件,配置起来相对简单。
        (2)适合小规模docker环境,例如只有1-3台,如果服务器过多,手动分配IP地址可能会无形之间增加工作量;


    缺点:
        (1)需要手动分配IP地址,如果让其自动分配IP地址可能会存在多个主机自动分配的IP地址冲突的情况,到时候还需要人工介入维护;
        (2)本机相同网络(本案例为"baimei_macvlan")的容器之间相互通信没问题,跨主机之间的容器进行通信也没问题,但容器无法与宿主机之间进行通信,也无法连接到外网






温馨提示:
如果非要使用macvlan,我们需要手动分配IP地址,无法联网的问题,只需要使用"docker network connect"重新分配一块网卡即可解决。

(1)判断Linux内核是否支持macvlan模块

lsmod | grep macvlan
modprobe macvlan   # 开启 macvlan
lsmod | grep macvlan

(2)两个节点创建同网段的自定义网络类型

docker network create -d macvlan --subnet 172.29.0.0/16 --gateway 172.29.0.254 -o parent=eth0 baimei-macvlan

(3)10.0.0.201节点基于自定义网络启动容器并手动分配IP地址

docker container run --rm -it --name c1 --network baimei-macvlan --ip 172.29.0.201 alpine 

(4)10.0.0.202节点基于自定义网络启动容器并手动分配IP地址

docker container run --rm -it --name c2 --network baimei-macvlan --ip 172.29.0.202 alpine 

(5)测试相互ping通
/ # ping 172.29.0.201
/ # ping 172.29.0.202

赞(4)
未经允许不得转载:工具盒子 » macvlan技术实现docker跨主机通信