Docker基于macvlan实现跨主机容器通信
找两台测试机:
[root@docker1centos_zabbix]#dockernetworkls NETWORKIDNAMEDRIVERSCOPE 19ac9a55bedbbridgebridgelocal 0a3cbfe2473fhosthostlocal aab77f02a0b1nonenulllocal [root@docker1centos_zabbix]#dockernetworkcreate--drivermacvlan--subnet10.0.0.0/24--gateway10.0.0.254-oparent=ens33macvlan_1 这条命令两条都执行,意思是添加macvlan的网络类型 [root@docker1centos_zabbix]#dockernetworkls NETWORKIDNAMEDRIVERSCOPE 19ac9a55bedbbridgebridgelocal 0a3cbfe2473fhosthostlocal 4e5ccdc657e1macvlan_1macvlanlocal aab77f02a0b1nonenulllocal
让两台服务器上都有centos6.9:v2版本的镜像:
一台上执行: [root@docker1centos_zabbix]#dockerrun-it--networkmacvlan_1--ip=10.0.0.155centos6.9:v2/bin/bash 一台上执行: [root@docker2opt]#dockerrun-it--networkmacvlan_1--ip=10.0.0.156centos6.9_ssh:v2/bin/bash [root@9ea3f69d89c4/]#ping10.0.0.155 PING10.0.0.155(10.0.0.155)56(84)bytesofdata. 64bytesfrom10.0.0.155:icmp_seq=1ttl=64time=2.15ms 64bytesfrom10.0.0.155:icmp_seq=2ttl=64time=0.569ms这里能ping通另外一个容器说明容器之间是相同的 ^C
这种问题就是
ip地址不能重复,如果出现重复就会产生混乱的现象,比如两个都是155的ip,那么会出现ping155的网可以ping通,但是ssh就不知道连的是哪一台了,事实上连不上去,链接就会出错,所以引入了overlay网络去管理IP。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。