我还没有对docker和容器做过任何实际操作,但据我所知。
根据网上提供的文档,我没有获得有关同时运行两个或多个容器的详细信息。
Docker允许容器将容器的端口地址映射到主机。 现在的问题是我们可以在docker上同时运行多个容器吗?如果是,那么如果两个容器映射到相同的端口号,那么在这种情况下如何处理该端口?
同时出于好奇,docker上的两个容器可以互相通信吗?
最佳答案
是的,您可以在单个主机上运行多个容器; docker 正是为此而设计的。
不能将两个不同镜像的容器映射到同一个端口号;如果您尝试,您会收到错误响应。但是,如果您的容器运行相同的镜像(例如 Web 应用程序的 2 个实例),您可以将它们作为服务运行,并将它们暴露在同一端口上。 Docker 将对请求进行负载平衡。您可以阅读更多关于 services here或关注Get Started (Part 3, services) here
是的,单个主机上的容器可以通过容器名称相互通信。例如,如果您有一个名为 mongo 的容器运行 MongoDB,另一个运行名为 Webserver 的 Node.js 容器,则 Web 服务器容器可以使用名称 mongo 连接到数据库,例如db.Connect("mongodb://mongo:27017/testdb")
。
关于docker - 我们可以让两个或更多容器同时在docker上运行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49980008/