Skip to content

mohamedkdidi/microservices-architecture-docker-kubernetes

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

About

Microservices deployment using docker and kubernetes

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published