Ce face docker pull
Comanda docker pull descarcă o imagine dintr-un registry (implicit Docker Hub, docker.io) în memoria locală a Docker Engine. O imagine este formată din mai multe straturi (layers); Docker descarcă doar straturile pe care nu le are deja, așa că a doua descărcare a unei imagini înrudite este mult mai rapidă.
Dacă nu specifici o etichetă, Docker folosește automat :latest. În producție este recomandat să fixezi o versiune explicită (de exemplu nginx:1.27) sau chiar un digest (@sha256:...), care identifică imaginea în mod imuabil.
Nu este obligatoriu să rulezi docker pull înainte de docker run: dacă imaginea lipsește local, docker run o descarcă automat. Comanda este însă utilă pentru a actualiza o etichetă (de exemplu latest) sau pentru a pregăti imaginile din timp pe un server.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
nume:etichetă |
Imaginea de descărcat, de exemplu ubuntu:24.04. Fără etichetă se folosește latest. |
nume@sha256:digest |
Descarcă exact imaginea cu digest-ul indicat, indiferent unde indică eticheta în acel moment. |
-a, --all-tags |
Descarcă toate etichetele unui depozit (atenție, poate fi foarte mult). |
--platform |
Alege platforma, de exemplu linux/amd64 sau linux/arm64 (util pe Mac cu Apple Silicon). |
-q, --quiet |
Afișează doar numele imaginii la final, fără progresul descărcării. |
registry/nume |
Pentru alt registry decât Docker Hub, prefixează numele cu adresa lui, de exemplu ghcr.io/org/app:1.0. |
Exemple
Exemplul 1: Descărcarea unei versiuni fixe de Nginx
Specificăm eticheta explicit, ca să știm exact ce versiune rulăm.
docker pull nginx:1.27
Ieșire în terminal
1.27: Pulling from library/nginx
a2318d6c47ec: Pull complete
095d327c79ae: Pull complete
bbfaa25db775: Pull complete
7bb6fb0cfb2b: Pull complete
0723edc10c17: Pull complete
24b3fdc4d1e3: Pull complete
3122471704d5: Pull complete
Digest: sha256:28402db69fec7c17e179ea87882667f1e054391138f77ffaf0c3eb388efc3ffb
Status: Downloaded newer image for nginx:1.27
docker.io/library/nginx:1.27
Exemplul 2: Imagine pentru altă arhitectură
Pe un Mac cu procesor ARM poți descărca explicit varianta amd64, de exemplu pentru a o testa înainte de a o trimite pe un server x86.
docker pull --platform linux/amd64 python:3.12-slim
Ieșire în terminal
3.12-slim: Pulling from library/python
2d429b9e73a6: Pull complete
d5e2b2f2b5e3: Pull complete
f0f6e6a8b1c4: Pull complete
5f2d8c3e9a1b: Pull complete
Digest: sha256:2b0079146a74e23bf4ae8f6a28e1b484c6292f6fb904cbb51825b4a19812fcd8
Status: Downloaded newer image for python:3.12-slim
docker.io/library/python:3.12-slim
Exemplul 3: Descărcare dintr-un registry privat
Pentru registry-uri care cer autentificare, rulează mai întâi docker login.
docker pull ghcr.io/dexblog/api:2.3.1
Greșeli frecvente
- Bazarea pe eticheta
latestîn producție: ea se mută la fiecare versiune nouă, așa că două servere pot ajunge să ruleze imagini diferite. - Eroarea
pull access denied ... repository does not exist or may require docker loginapare fie din cauza unei greșeli de scriere în nume, fie pentru că nu ești autentificat la registry-ul privat.
Comenzi înrudite
docker images: Listează imaginile descărcate sau construite local, cu etichetă, ID și dimensiune.docker run: Creează și pornește un container nou dintr-o imagine.docker login: Autentifică clientul Docker la Docker Hub sau la un alt registry privat de imagini.docker push: Trimite o imagine locală într-un registry (Docker Hub, GHCR, registry privat).