docker tag în Docker

Imagini Docker 1.0+

Adaugă un nume nou (etichetă) unei imagini existente, fără a o copia.

Sintaxă comandă
docker tag imagine_sursă[:etichetă] imagine_țintă[:etichetă]

Ce face docker tag

Comanda docker tag creează o referință nouă către o imagine existentă. Nu se copiază nimic: ambele nume indică același IMAGE ID. Etichetele sunt doar „pointeri” ușor de citit pentru oameni.

Cel mai des, docker tag se folosește înainte de docker push, pentru ca numele imaginii să conțină registry-ul și namespace-ul corect (de exemplu ghcr.io/dexblog/api:2.3.1 sau utilizator/app:1.0 pentru Docker Hub).

Numele complet al unei imagini are forma [registry[:port]/]namespace/depozit[:etichetă]. Când registry-ul lipsește, se presupune docker.io.

Opțiuni și argumente

Opțiune / Parametru Descriere
imagine_sursă Imaginea existentă, dată prin nume:etichetă sau prin ID.
imagine_țintă Noul nume. Dacă eticheta lipsește, se folosește latest.
registry/namespace/nume Prefixul care stabilește unde va fi trimisă imaginea la docker push.
etichetă Maximum 128 de caractere: litere, cifre, _, . și -; nu poate începe cu punct sau cratimă.

Exemple

Exemplul 1: Pregătirea unei imagini pentru Docker Hub

Imaginea construită local ca api:dev primește numele contului de Docker Hub.

docker tag api:dev dexblog/api:2.3.1
docker images dexblog/api

Ieșire în terminal

REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
dexblog/api   2.3.1     5c1f0a7e9b42   2 hours ago   187MB

Exemplul 2: Etichetare pentru un registry privat

Același ID primește un nume care conține adresa registry-ului intern.

docker tag 5c1f0a7e9b42 registry.example.com:5000/echipa/api:2.3.1

Greșeli frecvente

  • Credința că docker tag redenumește imaginea: vechiul nume rămâne. Pentru a-l elimina folosește docker rmi vechiul:nume (se șterge doar eticheta, nu imaginea).
  • Lipsa namespace-ului la Docker Hub: docker push api:1.0 eșuează cu denied: requested access to the resource is denied, deoarece nu poți publica în namespace-ul oficial library.

Comenzi înrudite

  • docker push: Trimite o imagine locală într-un registry (Docker Hub, GHCR, registry privat).
  • docker build: Construiește o imagine pe baza unui Dockerfile și a unui context de build.
  • docker images: Listează imaginile descărcate sau construite local, cu etichetă, ID și dimensiune.