//确保容器正常运行:
(6)测试容器之间能够跨主机通信:(注意:如果你是vmware环境的话,由于VMware虚拟机的原因,必须将两台主机默认的NAT模式修改为桥接模式才能够正常通信)
test3与test1通信(相同网段):
test4与test2通信(相同网段):
排错思路:如果部署完主机间无法通信的话,首先确认防火墙或iptables规则是否关闭或放行,是否禁用selinux,其次排查ens33的网卡配置文件及其子网卡内容是否修改错误,最后排查你创建macvlan网络是是否网段定义错误,或者在运行容器是否ip地址指定不正确。
———————-macvlan多网络跨主机实现通信部署完毕———————
扩展知识点:
假设我们运行了一个t1容器,然后t2容器使用t1容器的网络栈。
[root@sqm-docker03 ~]# docker run -itd --name t1 busybox[root@sqm-docker03 ~]# docker exec t1 ip a
[root@sqm-docker03 ~]# docker run -it --name t2 --network container:t1 busybox
//接下来在t1容器中操作:[root@sqm-docker03 ~]# docker exec -it t1 bin/sh
然后在t2容器中也可以看到此服务:
以上就是部署网络栈的基本内容,自己也不是经常用到,就是为了实现其他容器能够共享其中一个容器中的资源。
您可能感兴趣的文章:Docker容器化部署尝试——多容器通信(node+mongoDB+nginx)详解Docker容器跨主机通信的方法详解docker容器间通信的一种方法Docker 多主机网络通信详细介绍










