使用docker-compose,我正在尝试在公共端口8080上运行我的API,并在私有端口9324上运行sqs服务。API需要能够与sqs服务进行通信。为了实现这一点,我已经设置了以下docker-compose.yml:
version: '2'
services:
api:
image: api
ports:
- "8080:8080"
sqs:
image: pakohan/elasticmq
我尝试了几个迭代,包括为API添加链接别名:
links:
- "sqs:localhost"
同时暴露 sqs 的端口:
ports:
- "9324:9324"
但是似乎都不起作用。当尝试与sqs服务通信时,API始终会收到连接被拒绝的错误。
当sqs端口公开时,在docker之外运行的API能够正常通信(因此sqs服务已经正确初始化)。
有人有任何想法如何解决这个问题吗?