zkt22/z1/README.md

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