我有两个容器,一个webapp和一个数据库。
网络应用程序位于网络10.10.1.10/24上,使用macvlan驱动程序为此用户定义的网络,此网络的名称为 mnet
link / ether 02:42:0a:84:01:05 inet 10.10.1.10/24范围全球eth0
Db容器位于inet 10.10.11.2/24 scope global eth0
上为此用户定义的网络使用网桥驱动程序,此网络的名称为 int
我可以ping mnet网关(10.10.10.1)和本地网络上的所有其他计算机,但不能ping数据库容器中docker托管的webapp(10.10.10.5)。
我想在此网络上将webapp与db链接,但无法与db建立连接,反之亦然。
如果我将db容器与webapp网络相同,我可以链接两者。
我不希望他们放在同一网络上的原因是 mnet 与我们的LAN集成在一起,所以我想隔离用户访问数据库容器。
环境:生产
Docker版本:17.03.1-ce
OS:RancherOs
是否有解决此问题的工作,原因或解决方案。
答案 0 :(得分:0)
容器可以位于多个网络上。创建一个新的用户定义网络,并将数据库和Web应用程序放在该网络上。然后,当他们想要彼此交谈时,他们将使用这个新网络,但其他流量将使用您现有的网络。