多主机上的Docker集群

其实m面临的问题集群,其中节点部署在不同的主机和解决我使用的问题集群之间的docker运行-idt –net =主机mongodb / bin / bash所以在运行这个命令后,我发现容器的应用程序正在暴露其端口,并在主机IP上运行,这解决了我的问题,所有的节点都能够与他人沟通,但我想知道的是,像这样运行容器是一个正确的方式…..? 我们可以用这种方式来生产吗?

不,你不应该在生产中使用–net = host。 这就是说它确实取决于你的具体环境,也许你有其他的安全措施,可以让你的容器完全开放给主机。 通过使用–net = host,你基本上只是把所有容器的端口映射到主机的端口。 所以你的mongodb端口暴露给任何可以访问你的主机的东西。

您应该使用docker overlaynetworking将运行在不同主机上的容器联网。

https://docs.docker.com/engine/userguide/networking/dockernetworks/