Demonstrating and building a HTTP microservice-based architecture that is deployed on Kubernetes. All the samples may be easily deployed on local Kubernetes single-node cluster - Minikube.
Make sure you have the latest Docker and docker-compose installed. You may also want to have Minikube installed.
- Docker
- Kubernetes
- Helm
- Github Action
- Kong & Konga
- decK
- Kafka
- MongoDB
- Node.js
- Swagger
- ReactJs
- NextJs
- Cypress
- SonarCloud
- Terraform Cloud
- Azure
Clone the repository:
mkdir microservices-workshop
cd microservices-workshop
git clone https://github.com/mohamedkdidi/microservices-architecture-docker-kubernetes.git .
We can easily run the whole with only a single command:
docker-compose up
Docker will pull the MongoDB and Node.js images (if our machine does not have it before).
The services can be run on the background with command:
docker-compose up -d
Local build enpoint url application using Docker Compose http://localhost:9000/
Stopping all the running containers is also simple with a single command:
docker-compose down
If you need to stop and remove all containers, networks, and all images used by any service in docker-compose.yml file, use the command:
docker-compose down --rmi all
Run the following for a production setup. The main difference with the test version is live-reloading — The production version doesn't live-reload any changes and will require you to re-build your images.
docker-compose -f docker-compose.prod.yml up
Run the PowerShell script clean-docker.ps1 to remove all Docker images and containers
See CONTRIBUTING.md