Tag, digest și registru
O imagine construită local poate fi etichetată și publicată într-un registru pentru a fi folosită pe alte sisteme.
Etichetarea imaginii
Un tag nou nu copiază straturile imaginii, ci creează o altă referință către același conținut.
docker image tag ticketing-api:lab1 ticketing-api:v1
docker image ls ticketing-api
Ambele tag-uri trebuie să indice același image ID.
Digest
Digest-ul identifică versiunea conținutului printr-un hash. Îl puteți vedea atunci când o imagine este descărcată sau publicată:
docker image ls --digests
Pentru o imagine construită numai local, coloana digest poate conține <none> până când imaginea este asociată cu un registru.
Docker Hub
Docker Hub este un exemplu de registru public și gratuit Docker, iar mai jos sunt prezentați pașii prin care se poate publica o imagine pe Docker Hub și cum se poate descărca.
-
Autentificare interactivă:
docker login -
Adăugarea unui tag compatibil cu repository-ul personal:
docker image tag ticketing-api:lab1 <DOCKERHUB_USERNAME>/ticketing-api:lab1 -
Publicarea imaginii:
docker image push <DOCKERHUB_USERNAME>/ticketing-api:lab1 -
Descărcarea imaginii pe alt sistem:
docker image pull <DOCKERHUB_USERNAME>/ticketing-api:lab1
Înlocuiți <DOCKERHUB_USERNAME> cu numele real al contului și creați repository-ul în Docker Hub dacă fluxul ales o cere.
Nu scrieți parola sau token-ul direct în comandă și nu le salvați în repository. Pentru automatizări se folosesc secretele platformei și intrare prin standard input, nu argumente vizibile în istoricul shell-ului.
Legătură cu laboratoarele următoare
Repository-ul aplicației conține deja un workflow care testează codul, construiește imaginea și o poate publica în GitHub Container Registry. În acest laborator observăm doar rezultatul; pipeline-ul CI/CD va fi analizat separat.
Checkpoint
- tag-ul este o etichetă și poate indica altă imagine în viitor
- digest-ul identifică un conținut exact
- registrul distribuie imaginile între medii