在容器内的AWS上部署了两个微服务。我有一个场景,我的微服务A必须与微服务B通信。但是,当我尝试使用http://localhost:8082/url时,它没有用。不幸的是,我不得不使用我的微服务的公共URL。由于使用了公共网址,因此性能变慢。
任何人都可以帮助我,以便微服务可以在docker容器内的localhost上进行通信。
答案 0 :(得分:0)
您所需要的只是一个docker网络。我已经使用docker-compose实现了这一点。在下面的示例中,我定义了一个网络底层,两个服务都属于它。之后,您的应用程序可以使用其服务名http://database:27017访问您的数据库。
version: '3'
networks:
back-tier:
services:
database:
build: ./Database
networks:
- back-tier
ports:
- "27017:27017"
backend:
build: ./Backend
networks:
- back-tier
ports:
- "8080:8080"
depends_on:
- database