I am having a problem trying to mock SNS for my application. I want to use SNS and subscribe by my API endpoint. The error I am getting is:
Could not connect to the endpoint URL: "http://localhost:6010/webhook"
Here is the docker compose I am using:
version: "3.8"
services:
localstack:
container_name: localstack
image: localstack/localstack
ports:
- "127.0.0.1:4566:4566"
environment:
- LEGACY_INIT_DIR=1
- SERVICES=sqs,sns
- AWS_DEFAULT_REGION=eu-west-1
- AWS_ACCESS_KEY_ID=testUser
- AWS_SECRET_ACCESS_KEY=testAccessKey
- DOCKER_HOST=unix:///var/run/docker.sock
volumes:
- "${TMPDIR:-/var/lib/localstack}:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
- "./localstack-scripts:/docker-entrypoint-initaws.d/"
networks:
- backend
my-api:
container_name: my-api
image: api-image
command: ["Proj.Api.Host.dll", "Proj.Api.Host"]
build:
context: ./../../
dockerfile: api/Dockerfile
env_file:
- ./../../docker/.env_default
environment:
ASPNETCORE_ENVIRONMENT: "Development"
ports:
- "6010:80"
networks:
- backend
restart: unless-stopped
networks:
backend:
driver: bridge
And the script that is running from initaws folder:
awslocal sns create-topic --name test-topic --region=eu-west-1
awslocal sns subscribe --topic-arn "arn:aws:sns:eu-west-1:000000000000:test-topic" --region=eu-west-1 --protocol http --endpoint-url=http://localhost:6010/webhook
Can someone try to help me figure it out what is the problem here?
I have resolved this issue using host.docker.internal
. Hope that helps someone else with this problem. Cheers.