Sari la conținutul principal

Laboratorul 1 - Docker

În acest laborator urmărim traseul complet al unei aplicații containerizate: pornim de la o imagine existentă, construim propria imagine pentru Ticketing API, rulăm aplicația local și apoi trecem la o configurație cu două servicii și date persistente.

Mod de lucru

Laboratorul este un tutorial ghidat. Codul aplicației, Dockerfile și fișierul docker-compose.yml sunt deja pregătite; nu este nevoie să scrieți cod sau configurații de la zero.

Obiective​

La finalul laboratorului veți putea:

  • să explicați diferența dintre imagine, container și registru
  • să rulați, inspectați și opriți containere
  • să construiți o imagine folosind un Dockerfile multi-stage
  • să explicați rolul tag-urilor și al digest-urilor
  • să rulați Ticketing API în memorie și împreună cu PostgreSQL
  • să explicați rețeaua implicită creată de Docker Compose
  • să verificați persistența datelor într-un volum Docker

Aplicația folosită​

Vom folosi același exemplu pe tot parcursul laboratorului: Ticketing API, un API REST simplu scris în Go pentru gestionarea tichetelor.

git clone https://github.com/Cloud-Computing-UPB/lab1.git
cd lab1

Nu este necesară instalarea locală a limbajului Go: compilarea se face în timpul construirii imaginii Docker.

Convenții​

  • comenzile sunt prezentate pentru Bash, WSL sau un terminal Linux/macOS
  • în PowerShell, folosiți curl.exe în loc de aliasul curl, dacă este necesar
  • rulați comenzile din rădăcina repository-ului, exceptând cazurile în care este menționat altceva
  • valorile scrise între < și > sunt placeholdere și trebuie înlocuite