Skip to content

mohamedkdidi/microservices-architecture-docker-kubernetes

Repository files navigation

Current build Current Release Code Style Prettier

Microservices deployment using Docker and Kubernetes

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.

Requirements

Make sure you have the latest Docker and docker-compose installed. You may also want to have Minikube installed.

Architecture

Technologies to use

Quickstart

Setup

Clone the repository:

mkdir microservices-workshop 
cd microservices-workshop
git clone https://github.com/mohamedkdidi/microservices-architecture-docker-kubernetes.git .

Run the System

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

Application URL

Local build enpoint url application using Docker Compose http://localhost:9000/

Konga Dashboard

http://localhost:1337/

Kong admin endpoint

http://localhost:8001/

Stop the System

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

Production builds

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

Options

Clean-up

Run the PowerShell script clean-docker.ps1 to remove all Docker images and containers

Contributing

See CONTRIBUTING.md

License

MIT