2.3 KiB
2.3 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ý 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