In this article, We will show you how you can use docker-compose to create LocalStack services.
What is LocalStack?
LocalStack provides an easy-to-use test/mocking framework for developing Cloud applications. This means you can test AWS cloud resources locally on your machine.
Note: LocalStack supporting only AWS cloud stack.
LocalStack spins up the following core Cloud APIs on your local machine.
- ACM , API Gateway, CloudFormation, CloudWatch
- CloudWatch Logs, DynamoDB, DynamoDB Streams
- EC2, Elasticsearch Service, EventBridge (CloudWatch Events)
- Firehose, IAM, Kinesis, KMS, Lambda, Redshift
- Route53, S3, SecretsManager, SES, SNS
- SQS, SSM, StepFunctions, STS
Benefits of Using LocalStack
- Reduce Cost
- Test AWS Cloud Resource Locally
- Learn AWS Cloud Resource Locally
- Debug Locally
We hope you have installed Docker on your system else you can check the following article to install Docker.
Setting Up Docker and Kitematic MacOS/Windows
Installation/Setting Up Docker, Kitematic and VirtualBox MacOS/Windows
Note: Starting with version
0.11.0, all APIs are exposed via a single edge service, which is accessible on http://localhost:4566 by default. If you look into the following file we have used EDGE_PORT=4566.
In the above file, We are creating 2 Services as below with default region us-east-1
If you run the following command
You will see the LocalStack container is running successfully
How To Test Services
To check all the services type the following URL on your browser
if you look at the above screenshot 4 services are running
- cloud watch
But in our docker-compose.yml file, we have added only 2 services which are
With lambda service logs and cloud watch service enabled by default.