# 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ý zväzok 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 bola použitá najnovšia verzia obrazu **mongo-express** dostupnom na docker hube. - Kontajneri boli vložené do defaultne vytvorenej siete pomocou docker-compose, sieť bola premenovaná na **mongo-network**. - Namapované boli porty pre mongodb -> **27017:27017**. - Namapované boli porty pre mongo-express -> **8081:8081**. - Pre vytvorenie nového používateľa a nastavenia jeho mena a 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 mu pridelená rola *root*. - Pre autentifikáciu a pripojenie *mongo-express* k *mongodb* boli použité premenné prostredia **ME_CONFIG_MONGODB_ADMINUSERNAME** a **ME_CONFIG_MONGODB_ADMINPASSWORD** - Pre komunikáciu *mongo-express* s databázovým serverom bola použitá premenná prostredia **ME_CONFIG_MONGODB_SERVER** - Pre kontajner *mongodb* bol vytvorený pomenovaný zväzok **mongo-db-data** ### Príprava a spustenie aplikácie ### sh start-app.sh ### Zastavenie aplikácie ### sh stop-app.sh ### Vymazanie aplikácie ### sh remove-app.sh ### Sputenie aplikácie na webe ### do vyhľadávania je potrebné zadať http://localhost:8081