Ce face docker push
Comanda docker push încarcă o imagine locală într-un registry, de unde poate fi descărcată cu docker pull pe alte mașini. Registry-ul de destinație este stabilit de numele imaginii, deci de obicei imaginea trebuie mai întâi etichetată corect cu docker tag.
Ca și la descărcare, se trimit doar straturile pe care registry-ul nu le are deja. Straturile imaginii de bază (de exemplu python:3.12-slim) apar ca Mounted from library/python sau Layer already exists.
Pentru a publica ai nevoie de drepturi de scriere: autentifică-te mai întâi cu docker login.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
nume:etichetă |
Imaginea de trimis; numele trebuie să includă namespace-ul și, opțional, registry-ul. |
-a, --all-tags |
Trimite toate etichetele locale ale depozitului. |
-q, --quiet |
Suprimă afișarea progresului. |
--platform |
Trimite doar varianta pentru platforma indicată (Docker 27+, cu containerd image store). |
Exemple
Exemplul 1: Publicarea unei versiuni pe Docker Hub
După docker login și docker tag, imaginea este încărcată.
docker push dexblog/api:2.3.1
Ieșire în terminal
The push refers to repository [docker.io/dexblog/api]
8b7a1f2e3d4c: Pushed
6c5d4e3f2a1b: Pushed
1f2e3d4c5b6a: Pushed
a3b2c1d0e9f8: Mounted from library/python
d4e5f6a7b8c9: Mounted from library/python
f0e1d2c3b4a5: Layer already exists
2.3.1: digest: sha256:7e1c5b9a3d2f8e4c6a0b1d3f5e7c9a2b4d6f8e0c1a3b5d7f9e1c3a5b7d9f1e3c size: 1784
Exemplul 2: Toate etichetele deodată
Trimite atât 2.3.1, cât și latest, dacă ambele există local.
docker push --all-tags dexblog/api
Greșeli frecvente
- Eroarea
denied: requested access to the resource is denied: nu ești autentificat, namespace-ul nu îți aparține sau imaginea nu are prefixul contului tău. - Publicarea accidentală a secretelor (fișiere
.env, chei SSH) copiate în imagine. Verifică.dockerignoreînainte de push, mai ales pentru depozite publice.
Comenzi înrudite
docker tag: Adaugă un nume nou (etichetă) unei imagini existente, fără a o copia.docker login: Autentifică clientul Docker la Docker Hub sau la un alt registry privat de imagini.docker pull: Descarcă o imagine (sau o anumită etichetă a ei) dintr-un registry, implicit Docker Hub.docker build: Construiește o imagine pe baza unui Dockerfile și a unui context de build.