使用4个服务器,每个服务器都安装有docker容器,要满足如下要求:
首先,要求各个服务器之前的容器可以互通,即容器跨主机互通。
其次,每个服务器都有两个物理网卡,使容器可以选择任意一个或两个网卡实现跨主机互通。
请问,满足以上两个要求,该选择overlay、macvlan、或第三方的解决方案呢,本人入门不久,还望麻烦指点一二,感谢感谢
可以选择 overlay 这个网络方案。它支持容器跨主机互通、支持容器网络的多网卡选择,也是 Docker 官方提供的内置网络驱动,稳定可靠。
不知道你这个问题是否已经解决, 如果还没有解决的话:对于该场景,使用overlay网络更为适合。具体步骤如下:
docker network create -d overlay --subnet 10.0.9.0/24 --gateway 10.0.9.1 --attachable overlay_net
其中subnet和gateway可以根据需要进行修改,--attachable表示该网络可被任意容器连接。
docker run --net=overlay_net --name=container1 -d image1
docker run --net=overlay_net --name=container2 -d image2
其中image1和image2分别为需要互通的容器镜像。
确保各个容器中已经安装了ping命令,用于测试互通情况。
在每个主机上分别ping测试其他主机上的容器IP地址:
docker exec -it container1 ping container2_ip_address
其中container2_ip_address为container2所使用的IP地址。
以上步骤基本可以实现跨主机容器互通。如果需要进一步优化网络性能,可以考虑使用第三方网络解决方案,比如Weave Net等。