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非常合适,多了就不合适了
本文来自博客园,作者:kirin(麒麟),转载请注明原文链接:https://www.cnblogs.com/kirin365/articles/16137822.html