docker pull

Pobiera obraz z rejestru (domyślnie Docker Hub).

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/amd64 albo linux/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ślnie true, czyli trust i tak bywa wyłączony, jeśli nie ustawisz DOCKER_CONTENT_TRUST=1).

Przykłady użycia

  • docker pull nginx — pobiera nginx:latest z 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.