我正在docker容器中设置应用程序。我希望该应用程序能够与localstack堆栈容器localstack docs连接。当我运行docker-compose up
时,容器成功启动。我可以运行docker-compose文件中未包含的单独的Java应用程序,该应用程序将成功连接到localstack容器。但是与localstack一起启动的应用程序无法连接。我已经看了看docker docs和localstack docs,但我想不出如何使这些东西相互通信的方法。任何帮助将不胜感激。这是我的docker-compose
文件:
version: '3.4'
networks:
default:
driver: bridge
services:
jc:
build:
context: .
dockerfile: ./Dockerfile
args:
- PORT=5001
network: host
image: jc
depends_on:
- localstack
container_name: jc
ports:
- 5001:5001
links:
- localstack
environment:
- SPRING_PROFILES_ACTIVE=local
localstack:
image: localstack/localstack
ports:
- "4567-4584:4567-4584"
我收到的错误消息是:
最佳答案
关于这个错误
似乎您已经在服务jc
中准备好设置了,对于问题应用程序也需要相同的设置。
links:
- localstack
我猜您的应用程序也在另一个docker中运行,而不是直接在主机上运行。因此,您无法从应用程序容器访问
localhost:4567
,因为在容器本身无法访问这些aws模拟的服务。两种解决方案:localstack
,则可以使用localstack:4567
IP:4567
进行访问