docker pull pobiera obraz kontenera z rejestru i zapisuje go lokalnie, żebyś mógł na jego podstawie odpalić kontener. Domyślnie sięga do Docker Huba, ale równie dobrze ściągnie obraz z prywatnego rejestru, GitHub Container Registry czy z firmowego Harbora — wystarczy podać pełną nazwę. Jeśli nie wskażesz taga, Docker dorzuca :latest, co bywa źródłem niespodzianek (o tym niżej). Sama komenda nie uruchamia kontenera — od tego jest docker run. pull to czysty download warstw obrazu do lokalnego cache.
Składnia i najważniejsze opcje
Podstawowa forma to docker pull [OPTIONS] NAME[:TAG|@DIGEST]. Najczęściej używane flagi:
-a, --all-tags— pobiera wszystkie tagi z danego repozytorium, nie tylko jeden. Uwaga: potrafi to być kilkadziesiąt GB.--platform— wymusza architekturę obrazu, np.linux/amd64albolinux/arm64. Ratunek, gdy host i obraz nie zgadzają się architekturą.-q, --quiet— wycisza paski postępu i gadanie o warstwach, zostawia minimum. Przydatne w skryptach.--disable-content-trust— pomija weryfikację podpisu obrazu (domyślnietrue, czyli trust i tak bywa wyłączony, jeśli nie ustawiszDOCKER_CONTENT_TRUST=1).
Przykłady użycia
docker pull nginx— pobieranginx:latestz Docker Huba. Najprostszy wariant, jaki zobaczysz w 90% tutoriali.docker pull postgres:16.2— ściąga konkretną, przewidywalną wersję Postgresa. Tak powinno się robić na produkcji.docker pull --platform linux/amd64 node:20— wymusza wersję x86 obrazu na MacBooku z procesorem Apple Silicon (ARM).docker pull ghcr.io/twojafirma/api:1.4.0— pobiera obraz z GitHub Container Registry zamiast z Docker Huba (decyduje prefiks z hostem rejestru).docker pull ubuntu@sha256:abc123...— pobiera obraz po cyfrowym odcisku (digest), więc dostajesz dokładnie ten bajt w bajt obraz, niezależnie od tego, co aktualnie wskazuje tag.
Częste błędy i pułapki
Pułapka :latest — to tylko nazwa taga, a nie gwarancja świeżości. Dwa serwery z image:latest mogą mieć różne obrazy, bo pull pobiera to, co aktualnie pod tym tagiem leży. Na produkcji przypinaj wersję lub digest.
Brak logowania do prywatnego rejestru — dostaniesz pull access denied lub repository does not exist. Najpierw docker login, potem pull.
Rate limit Docker Huba — anonimowo dostajesz ograniczoną liczbę pullów na kilka godzin. W CI bez zalogowania szybko zobaczysz toomanyrequests.
Zła architektura — na ARM (Apple Silicon, Raspberry Pi) obraz zbudowany tylko pod amd64 albo się nie ruszy, albo poleci przez emulację. Wtedy ratuje --platform.
Powiązane komendy: docker run (sam pobiera obraz, jeśli go nie ma), docker images, docker push, docker login oraz docker rmi do sprzątania pobranych obrazów.