我们可以让两个或更多容器同时在docker上运行吗

5 containers docker microservices

我还没有对docker和容器做过任何实际操作,但据我所知。

根据网上提供的文档,我没有获得有关同时运行两个或更多容器的详细信息。

Docker允许容器将容器的端口地址映射到宿主机。现在的问题是我们可以在docker上同时运行多个容器吗?如果是,那么如果两个容器映射到相同的端口号,那么在这种情况下如何处理该端口?

另外出于好奇,docker上的两个容器可以互相通信吗?

Vin*_*ren 5

是的,您可以在单个主机上运行多个容器;docker 正是为此而设计的。

不能将两个不同镜像的容器映射到同一个端口号;如果您尝试,您会收到错误响应。但是,如果您的容器运行相同的映像(例如 Web 应用程序的 2 个实例),您可以将它们作为服务运行,并将它们暴露在同一端口上。Docker 将对请求进行负载平衡。您可以在此处阅读有关服务的更多信息,或按照此处的入门(第 3 部分,服务)进行操作

是的,单个主机上的容器可以通过容器名称相互通信。例如,如果您有一个名为mongo的容器运行 MongoDB ,另一个容器运行名为 webserver 的 Node.js,则 webserver 容器可以使用名称mongo连接到数据库,例如db.Connect("mongodb://mongo:27017/testdb")