Cum să construiești o imagine și să o împingi în registru?
sobes.tech AI
Răspuns de la AI
Construirea imaginii Docker se face cu comanda docker build, care folosește Dockerfile ca instrucțiune. Dockerfile conține pași pentru crearea imaginii, cum ar fi imaginea de bază, copierea fișierelor, instalarea dependențelor și configurarea mediului.
Exemplu de Dockerfile:
# Folosește o imagine de bază
FROM ubuntu:latest
# Instalează dependențe
RUN apt-get update && apt-get install -y nginx
# Copiază fișierele de configurare
COPY nginx.conf /etc/nginx/nginx.conf
# Deschide portul
EXPOSE 80
# Pornește serverul web
CMD ["nginx", "-g", "daemon off;"]
Comanda de build:
# docker build -t <nume_imagine>:<tag> <cale_către_Dockerfile>
docker build -t my-nginx-image:latest .
-t my-nginx-image:latest atribuie imaginii numele my-nginx-image cu eticheta latest.
. indică directorul curent în care se află Dockerfile.
După o construcție de succes, imaginea va fi disponibilă local. Pentru a o salva într-un registru (de exemplu, Docker Hub sau un registru privat), trebuie mai întâi să te autentifici în registru cu comanda docker login.
# docker login <adresa_registru>
# Pentru Docker Hub, adresa nu este specificată
docker login
Apoi, trebuie să retaghezi imaginea pentru a corespunde adresei registrului:
# docker tag <nume_local>:<tag> <adresa_registru>/<nume_repozitoriu>:<tag>
# Pentru Docker Hub, dacă utilizatorul este 'myuser'
docker tag my-nginx-image:latest myuser/my-nginx-image:latest
Și, în cele din urmă, să împingi imaginea în registru:
# docker push <adresa_registru>/<nume_repozitoriu>:<tag>
# Pentru Docker Hub
docker push myuser/my-nginx-image:latest
Procesul de construire și împingere este adesea automatizat cu sisteme CI/CD (Jenkins, GitLab CI, GitHub Actions etc.).