18、跨宿主机容器间的通讯之macvlan

版权声明:原创作品,谢绝转载!否则将追究法律责任。 ————— 作者:kirin

macvlan类似与虚拟机的桥接网络

##01与02机器都启动一个alpine镜像
#创建网络(一块网卡只能桥接一次)
docker network create -d macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 -o parent=eth0 macvlan_1

#启动容器
[root@docker01 ~]#  docker run -it --network macvlan_1 --ip 10.0.0.105 alpine:latest 
[root@docker02 ~]#  docker run -it --network macvlan_1 --ip 10.0.0.106 alpine:latest 

而且它不光能ping通对方的容器,对方的宿主机ip也可以ping通

##退出当前的容器
ctrl+p  +   ctrl+q

##在新建一个10.0.0.107的容器,并检查看它夯住没有
[root@docker02 ~]# docker run -d --network macvlan_1 --ip 10.0.0.107 docker.io/nginx:latest
[root@docker02 ~]#  docker ps -a -l

##浏览器打开10.0.0.107

##远程连接也没问题
ssh 10.0.0.107

##容器与容器之间通讯没有问题,唯独不能与自己的宿主机通讯,否则会冲突。
假设就一台或者两台宿主机的话,用macvlan非常合适,多了就不合适了

posted @ 2022-06-03 11:44  kirin(麒麟)  阅读(295)  评论(0编辑  收藏  举报
Δ