【发布时间】:2016-03-05 17:46:25
【问题描述】:
我开始使用 dockerized 微服务。
其中几个正在运行(参见下面的代码 sn-p)。在我的本地测试设置中,每个服务都可以在localhost:somePort 获得。例如。前端会尝试连接到localhost:backend1 的后端API。
现在在容器化的世界中,这不再起作用了。我应该运行像consul 或etcd 这样的完整服务发现解决方案吗?还是我应该尝试使用 docker 的命名服务从前端访问后端? https://docs.docker.com/compose/networking/
version: '2'
services:
service1-backend:
image: service1:0.0.1
links:
- service1-frontend
service1-frontend:
image: service1-frontend:0.0.1
links:
- service2-frontend
ports:
- "8080:80"
service2-backend:
image: service2-backend:0.0.1
links:
- service1-backend
- service2-frontend
- service3
service2-frontend:
image: service2-frontend:0.0.1
ports:
- "8081:80"
service3:
image: service3:0.0.1
【问题讨论】:
-
你确定你没有太多的服务吗?
-
这个问题只有
service1-backend和service1-frontend是相关的。但还会有更多。
标签: networking docker microservices service-discovery