我是一个LocalStack/Docker新手,尝试创建一个docker-composite.yml文件来启动一个Sping Boot 应用程序容器+一个LocalStack容器,我不确定是否应该为容器创建一个网络,以及如何配置SQS URL,以便能够将我的Spring Boot应用程序与运行在LocalStack上的SQS连接起来,感谢您的提示。
停靠-编写.yml
version: "3.8"
services:
app:
build:
context: .
dockerfile: Dockerfile
image: my-spring-app
container_name: spring-app
ports:
- "8080:8080"
environment:
- AWS_ACCESS_KEY_ID=12345
- AWS_SECRET_ACCESS_KEY=12345
depends_on:
- localstack
localstack:
image: localstack/localstack:latest
container_name: localstack
environment:
- SERVICES=sqs
- DEBUG=1
ports:
- "4566:4566"
volumes:
- "/tmp/localstack:/tmp/localstack"
应用程序.yml(Sping Boot 应用程序)
cloud:
aws:
stack:
auto: false
region:
static: us-east-1
auto: false
credentials:
access-key: 12345
secret-key: 12345
queue:
uri: http://localhost:4566
name: sample-queue.fifo
2条答案
按热度按时间xjreopfe1#
URI应该是
docker-compose.yaml
中的服务名称在您的情况下:qij5mzcb2#
合成自动为您创建网络;您不需要在合成文件中手动指定
networks:
。每个服务对于使用其合成服务名作为主机名的其他容器都是可见的,即app
和localstack
。另请参阅Docker文档中的Networking in Compose。您可以使用环境变量设置Spring属性,在容器环境中指定这些环境变量几乎总是比尝试在应用程序中更改YAML文件更容易。您应该能够设置: