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

标签 docker containers microservices

我还没有对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/

相关文章:

c++ - STL Containers - vector 、列表和双端队列之间的区别

docker - Docker 中的 Virtualbox

iOS 在容器内移动 View 会混淆触摸区域

go - 超时时的 Nats.io QueueSubscribe 行为

performance - 多个消费者的集中数据库与本地数据集

java - springcloud api网关属性文件声明变量

docker - 从docker容器中的主机访问数据

docker - 在没有root的情况下运行docker Rstudio服务器?

docker - Docker运行似乎忽略了name参数

python - 如何配置我的 Django/Python docker 实例以便立即反射(reflect)更新?