Skip to content

elab-development/RNAEP26-OAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Vežba: Dokerizacija višeslojne web aplikacije

Dobrodošli na vežbu iz dokerizacije! Vaš zadatak je da funkcionalnu aplikaciju, koja se trenutno sastoji samo od izvornog koda, upakujete u kontejnere i omogućite njihovu međusobnu komunikaciju koristeći Docker.

Pregled kostura aplikacije

Aplikacija je jednostavan "Student Dashboard" koji prati broj poseta. Sastoji se od:

  1. Klijenta: HTML/JavaScript klijent.
  2. Servera: FastAPI (Python) aplikacija.
  3. Baze podataka: Redis (In-memory storage).

Opis zadatka:

Potrebno je kreirati ukupno više servisa (razmislite koliko vam zapravo treba :D) unutar jedne Docker mreže. Vaš posao je da napišete uputstva za "izgradnju" kontejnera i definišete kako oni sarađuju.

Instrukcije za rad

1. Backend (FastAPI)

Unutar foldera /backend potrebno je kreirati Dockerfile.

  • Potrebno je definisati base image.
  • Instalirajte neophodne biblioteke navedene u kodu - koristite Google da saznate koje biblioteke vam trebaju :D.
  • Aplikacija treba da sluša na odgovarajućem portu - koristite Google da saznate koji je default port :D.
  • Napomena: Razmislite kako će backend znati gde se nalazi Redis baza u Docker mreži.

2. Frontend (Web Server)

Unutar foldera /frontend potrebno je kreirati Dockerfile.

  • Hint: HTML je statička stvar, kako možemo da ga izvršimo?
  • Web server treba da bude dostupan (standardni port za HTTP).

3. Orkestracija (Compose)

U korenu projekta kreirajte compose.yaml (ili docker-compose.yml) koji će povezati sve delove.

  • Servis 1 (Baza): Potreban vam je image za Redis. Nije potreban Dockerfile, samo ga definišite u compose-u.
  • Servis 2 (Backend): Povežite ga sa folderom za build i osigurajte da se podiže tek nakon što baza bude spremna.
  • Servis 3 (Frontend): Povežite ga sa folderom za build i mapirajte portove tako da aplikaciji možete pristupiti preko browsera (npr. port 8080 ili 80 na vašoj mašini).

Pokretanje i testiranje

Kada kreirate sve fajlove, pokrenite aplikaciju.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors