我刚开始做的是微型化服务。
其中有几个正在运行(请参阅下面的代码片段)。在我的本地测试设置中,每个服务都可以在localhost:somePort上使用。例如,前端将尝试连接到localhost:backend1的后端API。现在,在集装箱化的世界里,这已经行不通了。我是否应该运行一个成熟的服务发现解决方案,比如consul或etcd?还是我应该尝试使用码头的命名服务从前端访问后端呢?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发布于 2016-03-05 20:20:36
如果service1-frontend需要通过name:port访问service1-backend,则需要:
service1-backend需要在其Dockerfile中指定一个端口公开service1-frontend需要在撰写文件中有一个指向service1-backend的链接。然后,在前端,您可以访问后端,只需使用service1-backend:port。
https://stackoverflow.com/questions/35817536
复制相似问题