alex-alra-arteaga / Popeye

Introduction to DevOps. Dockerfiles and Docker Compose to containerize the deployment of a web poll application.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Popeye

Basics of containerizing applications and describing multi-containers infrastructures with Docker and Docker Compose.

There are five elements constituting the application:

  • Poll, a Flask Python web application that gathers votes and push them into a Redis queue.
  • A Redis queue, which holds the votes sent by the Poll application, awaiting for them to be consumed by the Worker.
  • The Worker, a Java application which consumes the votes being in the Redis queue, and stores them into a PostgreSQL database.
  • A PostgreSQL database, which (persistently) stores the votes stored by the Worker.
  • Result, a Node.js web application that fetches the votes from the database and displays the result

The app application is given to us, we modify it in order to be compatible with the images and containers we set with our Dockerfiles and the docker-compose.yml

image

Launch

Install docker and docker compose in your OS Steps to follow at root:
  • docker compose build
  • docker compose up

image

Services deployed, CLion view

Once deployed, Poll frontend is at: http://172.19.0.3/

Result frontend is at: http://localhost:5001/

About

Introduction to DevOps. Dockerfiles and Docker Compose to containerize the deployment of a web poll application.


Languages

Language:JavaScript 93.2%Language:HTML 2.4%Language:CSS 2.1%Language:Java 1.3%Language:Python 0.7%Language:Dockerfile 0.3%