zkt22/zadanie1/README.md

2.0 KiB

Základy klaudových technológií - Zadanie 1

Ondrej Ladomirják

Funkcionalita aplikácie

Táto aplikácia sa skladá z dvoch kontajnerov mongodb a mongo-express a slúži na správu NoSQL databázy MongoDB. Keďže práca s databázou cez príkazový riadok nie je veľmi "user-friendly", tak súčasťou je taktiež webové rozhranie pre správu databázy Mongo-Express, v ktorom možno vytvárať nové databázy, kolekcie, a pridávať do novovytvorených kolekcií potrebné záznami.

Pomenované zväzky a virtuálna sieť

Kontajner mongodb obsahuje jeden pomenovaný zvazok s názvom mongo-db-data, ktorý slúži na uchovanie stavu aplikácie a teda zachovanie vytvorených databáz. Na to aby dokázali vytvorené kontajneri spolu komunikovať bola použitá defaultna sieť, ktorú automaticky generuje docker-compose s názvom docker-network-zct

Opis konfigurácie kontajnerov

Celú konfiguráciu možno nájsť v súbore docker-compose.yaml. Vytvorené boli dva kontajneri, ktorým bolo dané meno mongodb a mongo-express. Pre mongodb bola použitá najnovšia verzia obrazu mongo dostupnom na docker hube. Pre mongo-express to bol taktiež obraz dostupný na docker hube s názvom mongo-express. Oba spomínané kontajneri boli vložené do siete defaultne vytvorenej pomocou docker-compose, sieť bola premenovaná na mongo-network. Taktiež boli namapované porty kde pre mongodb platí, že kontajnerový port 27017 bol napovaný na lokálny port 27017 a pre mongo-express platí -> 8081:8081. Pre vytvorenie noveho použivateľa a nastavenia jeho hesla boli v kontajneri mongodb nakonfigurované premenné prostredia MONGO_INITDB_ROOT_USERNAME a MONGO_INITDB_ROOT_PASSWORD, tento používateľ je vytvorený v admin authentication database a je mo pridelená rola root

Príprava a spustenie aplikácie

sh start-app.sh

Zastavenie aplikácie

sh stop-app.sh

Vymazanie aplikácie

sh remove-app.sh