Weiter zum Inhalt

Docker Pull: Registries, Authentifizierung und Troubleshooting

Lerne, wie du Images sicher pullst, typische Fehler behebst und Pulls in Produktions- und CI/CD-Umgebungen handhabst.
Aktualisiert 18. Sept. 2026  · 15 Min. lesen

Mit KI erkunden

ChatGPTClaudePerplexity

Der Befehl docker pull ist an sich selbsterklärend, aber unter der Haube passiert eine Menge, die selbst erfahrenen Profis oft unbekannt ist.

Das sollte jede Entwicklerin und jeder Entwickler wissen. Du ziehst täglich Images, aber wenn etwas schiefgeht, ist es schwer, den Grund zu finden. Mal scheitert die Authentifizierung ohne erkennbaren Grund, mal greifen Rate Limits, oder du landest in der Produktion mit der falschen Image-Version. Jede dieser Pannen kostet Zeit, die gar nicht erst verloren gehen müsste.

Zu verstehen, wie docker pull wirklich arbeitet, gibt dir Kontrolle. Du weißt, wo Images herkommen, wie du sie ziehst und wie du Probleme behebst, bevor sie in der Produktion auftauchen.

In diesem Artikel erkläre ich, wie das Pullen von Images im Hintergrund funktioniert, wie Registries ins Spiel kommen und wie du Images sowohl in der lokalen Entwicklung als auch in Produktionsumgebungen ziehst.

Wenn du völlig neu bei Docker bist, empfehle ich dir dringend unseren Introduction to Docker Kurs. Er deckt die Grundlagen ab, die du für diesen Artikel brauchst.

So funktioniert docker pull unter der Haube

In diesem Abschnitt gehe ich die Mechanik des docker pull Befehls durch und räume mit Verwirrungen darüber auf, was im Hintergrund passiert.

Was bei einem docker pull passiert

Die grundlegende Syntax ist simpel:

docker pull python:3.14.2-bookworm

Image 1 - Running a docker pull command

Dieser Befehl spricht standardmäßig mit Docker Hub, lädt das Python-Image herunter und speichert es lokal auf deinem Rechner. Aber es steckt mehr dahinter, als man sieht.

So läuft es ab:

  • Dein Docker-Client sendet eine Anfrage an die Registry (Docker Hub, sofern du nichts anderes angibst)

  • Die Registry antwortet mit dem Image-Manifest, das alle Layer auflistet, aus denen das Image besteht

  • Dein Client lädt dann jeden Layer herunter, den er noch nicht hat, und speichert sie unter /var/lib/docker auf Linux-Systemen sowie in von Docker Desktop verwalteten Verzeichnissen (zum Beispiel unter ~Library/Containers/… auf macOS und C:\Users\[Username]\AppData\... unter Windows.)

Der :latest Tag ist Dockers Standard, wenn du keine Version angibst. Führst du docker pull python ohne Tag aus, bekommst du python:latest. Das klingt bequem, ist aber riskant. Der :latest Tag bedeutet nicht „die neueste stabile Version“, sondern „was auch immer der Image-Maintainer als latest getaggt hat“. Das kann sich zwischen zwei Pulls ändern und Builds ohne Vorwarnung zerlegen.

Image-Layer und inhaltsadressierbarer Speicher

Docker-Images bestehen aus Layern.

Jeder Layer steht für eine Änderung gegenüber dem vorherigen. Beim Bauen eines Images erzeugt jede RUN-, COPY- oder ADD-Anweisung in deiner Dockerfile einen neuen Layer. Das finale Image ist ein geordneter Stapel dieser Layer.

Schau dir zum Beispiel die Befehle hinter dem obigen Python 3.14 Image an – da passiert eine Menge.

Inhaltsadressierbarer Speicher macht das möglich. Jeder Layer bekommt einen eindeutigen Hash basierend auf seinem Inhalt. Teilen zwei Images denselben Basis-Layer (z. B. ubuntu:24.04), speichert Docker diesen Layer nur einmal. Ziehst du ein neues Image mit derselben Basis, wird der Download übersprungen.

Das spart Bandbreite und Speicher. Ziehe zehn Python-Images mit unterschiedlichen Tags, und Docker wiederverwendet die gemeinsamen Layer in allen. Heruntergeladen wird nur, was wirklich anders ist.

docker pull vs docker image pull

Beide Befehle sind funktional identisch. Sie ziehen Images aus Registries und speichern sie lokal.

Der Unterschied ist organisatorisch. Docker hat die docker image Befehlsgruppe im Rahmen einer CLI-Restrukturierung eingeführt, um Befehle intuitiver zu ordnen. Anstatt docker pull, docker rmi und docker images zu verteilen, wurden imagebezogene Befehle unter docker image pull, docker image rm und docker image ls gruppiert.

Nutze, was dir lieber ist. docker pull ist kürzer und in Dokus üblicher. docker image pull ist expliziter und passt besser in Skripte, in denen Klarheit zählt. Einigt euch im Team auf einen Stil und bleibt dabei.

Docker-Image-Referenzen erklärt

Eine Image-Referenz hat bis zu fünf Teile: HOST/NAMESPACE/REPOSITORY:TAG@DIGEST.

Das bedeuten die Teile:

  • HOST: Die Registry-Adresse (z. B. docker.io, gcr.io, quay.io). Lässt du ihn weg, nimmt Docker standardmäßig Docker Hub.

  • NAMESPACE: Meist dein Benutzername oder deine Organisation (z. B. library für offizielle Images oder mycompany für private).

  • REPOSITORY: Der eigentliche Imagename (z. B. python, nginx, redis).

  • TAG: Die Versionskennung (z. B. 3.14.2-bookworm, latest). Standard ist :latest, wenn du ihn weglässt.

  • DIGEST: Ein SHA256-Hash des Image-Manifests (z. B. @sha256:abc123...). Das ist unveränderlich – Tags können sich ändern, Digests nicht.

Die meisten Pulls sehen so aus:

docker pull python:3.14.2-bookworm

Das wird im Hintergrund zu docker.io/library/python:3.14.2-bookworm erweitert.

Für private Registries brauchst du die vollständige Referenz:

docker pull myregistry.example.com/myteam/myimage

Präzise Referenzen (spezifische Tags oder Digests) halten deine Deployments reproduzierbar. Ziehe python:3.14.2-bookworm heute und nächsten Monat, und du bekommst dasselbe Image. Ziehe python:latest zweimal, und sehr wahrscheinlich nicht.

Docker-Registries und wo Images herkommen

Registries sind der Ort, an dem Docker Images speichert und verteilt – sie sind die Quelle für jeden docker pull Befehl, den du ausführst.

Docker Hub als Standard-Registry

Docker Hub ist die Standard-Registry für alle docker pull Befehle, sofern du nichts anderes angibst.

Führst du docker pull python:3.14.2-bookworm aus, übersetzt Docker das automatisch zu docker.io/library/python:3.14.2-bookworm. Für öffentliche Images musst du dich nicht anmelden – Docker Hub liefert sie anonym aus, allerdings mit Rate Limits für nicht authentifizierte Nutzer.

Auf Docker Hub gibt es zwei Arten von Images: Official Images und Community-Images.

  • Official Images stammen von verifizierten Publishern und werden von Docker oder den Softwareanbietern selbst gepflegt. Sie liegen im Namespace library (den Docker vor dir verbirgt). Wenn du python, nginx oder redis ziehst, bekommst du Official Images, die Dockers Best Practices für Sicherheit und regelmäßige Updates folgen.

  • Community-Images sind alles andere. Jede Person kann unter ihrem Benutzernamen oder ihrer Organisation ein Image auf Docker Hub veröffentlichen. Ziehst du johndoe/python-custom, vertraust du darauf, dass johndoe dieses Image ordentlich pflegt. Manche Community-Images sind top und gut betreut. Andere wurden seit Jahren nicht aktualisiert und enthalten bekannte Schwachstellen.

Vertrauen ist hier entscheidend. Official Images erhalten regelmäßig Sicherheitspatches und sind sauber dokumentiert. Bei Community-Images bist du selbst in der Pflicht zu prüfen, wer sie pflegt und ob sie sicher einsetzbar sind.

Private und eigene Registries

Die meisten Unternehmen wollen ihre Container-Images nicht auf dem öffentlichen Docker Hub liegen haben.

Private Registries sind die Lösung. Du entscheidest, wer Images ziehen darf, steuerst Aufbewahrungsrichtlinien und hältst proprietären Code innerhalb deiner Infrastruktur. Das ist wichtig für Compliance, Sicherheit und das Berechtigungsmanagement über Teams hinweg.

Gängige Lösungen für private Registries sind:

  • Harbor: Open-Source-Registry mit integriertem Security-Scanning und Zugriffskontrolle
  • JFrog Artifactory: Enterprise-Lösung für Docker-Images plus andere Artefakt-Typen
  • Cloud-Registries: AWS ECR, Google Container Registry (GCR), Azure Container Registry (ACR)

Natürlich ändern sich Image-Referenzen bei einer eigenen Registry. Anstatt python:3.14.2-bookworm musst du jetzt den vollständigen Pfad angeben:

docker pull myregistry.company.com/team/python:3.14.2-bookworm

Der Registry-Hostname steht zuerst, dann dein Namespace (meist Team- oder Projektname), dann Repository und Tag. Docker greift bei einem benutzerdefinierten Hostnamen nicht auf Docker Hub zurück – es geht direkt zu deiner privaten Registry.

Authentifizierung, Rate Limits und Zugriffskontrolle

Authentifizierung brauchst du sowohl fürs Pushen als auch fürs Pullen von Images – und sie wird besonders wichtig, wenn du an Rate Limits stößt oder auf private Registries zugreifst.

Anmelden und Zugangsdaten verwalten

Du kannst dich mit dem Befehl docker login an einer Registry authentifizieren:

docker login

Damit wirst du nach deinem Docker-Hub-Benutzernamen und Passwort gefragt. Für private Registries gibst du einfach den Hostnamen an:

docker login myregistry.company.com

Image 2 - Running the docker login command

Docker speichert deine Zugangsdaten nach dem Login lokal. Unter Linux liegen sie in ~/.docker/config.json. Unter macOS nutzt Docker für mehr Sicherheit den System-Schlüsselbund.

Das Problem: Die Config-Datei speichert Zugangsdaten standardmäßig Base64-codiert, was keine Verschlüsselung ist. Wer Zugriff auf dein Home-Verzeichnis hat, kann sie decodieren. Abhilfe schaffen Credential-Helper – Docker unterstützt native OS-Schlüsselbunde, die Passwörter sicher speichern.

Hier ein paar Best Practices fürs Credential-Management:

  • Credential-Helper verwenden (docker-credential-osxkeychain, docker-credential-wincred)

  • config.json niemals ins Versionsmanagement committen

  • Nach Möglichkeit Zugriffstokens statt Passwörter nutzen

  • Zugangsdaten regelmäßig rotieren, besonders bei geteilten Accounts

Docker-Hub-Rate-Limits

Docker Hub begrenzt, wie viele Images du in einem Zeitfenster ziehen kannst.

Anonyme Nutzer (ohne Login) erhalten 100 Pulls pro sechs Stunden und IP-Adresse. Authentifizierte Free-Accounts bekommen 200 Pulls pro sechs Stunden. Bezahlpläne haben höhere Limits oder unbegrenzte Pulls – je nach Stufe.

Diese Limits spielen eine Rolle, wenn du CI/CD-Pipelines betreibst, in der Entwicklung häufig Images ziehst oder in geteilten Umgebungen arbeitest, in denen mehrere Nutzer dieselbe IP teilen. Wenn du das Limit erreichst, schlagen Pulls fehl, bis das Fenster zurückgesetzt wird.

Du kannst deinen aktuellen Rate-Limit-Status prüfen:

TOKEN=$(curl "<https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull>" | jq -r .token)
curl --head -H "Authorization: Bearer $TOKEN" <https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest>

checking Docker rate limits

So erhöhst du dein Rate Limit (für die meisten Entwickler kein Thema):

  • Authentifiziere deine Pulls: Einloggen erhöht die Limits, auch mit kostenlosem Account
  • Registry-Mirror nutzen: Richte einen Pull-Through-Cache ein, der Images lokal zwischenspeichert
  • Auf private Registries umsteigen: Eigene Registry hosten und Docker-Hub-Limits komplett umgehen
  • Images lokal cachen: Einmal ziehen, vielfach wiederverwenden, statt ständig neu zu ziehen

Die einfachste Lösung ist: einloggen. Das verdoppelt dein Limit sofort.

Erweiterte Optionen für Image-Pulls

Diese erweiterten Optionen geben dir Präzision und Kontrolle – genau das, was du in Produktionsumgebungen brauchst.

Images per Digest ziehen

Digests sind unveränderliche Kennungen, die auf dem Content-Hash des Images basieren.

Tags können sich ändern. Jemand pusht ein neues Image mit demselben Tag, und plötzlich zeigt python:3.14.2-bookworm auf andere Inhalte als gestern. Digests können sich nicht ändern – sie sind SHA256-Hashes des Image-Manifests. Derselbe Digest bedeutet immer exakt dasselbe Image.

Per Digest so pullen:

docker pull python@sha256:6d58c1a9444bc2664f0fa20c43a592fcdb2698eb9a9c32257516538a2746c19a

docker pull images by digest

docker pull --platform linux/amd64 python:3.14.2-bookworm

Das ist vor allem in CI/CD und Produktion wichtig. Du testest gegen ein spezifisches Image, du deployest genau dieses Image. Keine Überraschungen, kein Drift zwischen Umgebungen. Wenn dein Deployment von einer bestimmten Version abhängt, nutze den Digest – nicht den Tag.

Multi-Architecture-Image-Pulls

Multi-Arch-Images bündeln Varianten für verschiedene CPU-Architekturen in einer einzigen Imagereferenz.

Ziehst du python:3.14.2-bookworm, wählt Docker automatisch die passende Version für dein System – amd64 für x86-Maschinen, arm64 für Apple Silicon oder ARM-Server. Die Registry liefert die richtige Architektur, ohne dass du etwas tun musst.

Manchmal brauchst du jedoch eine bestimmte Architektur. Nutze dann das Flag --platform:

docker pull --platform linux/amd64 python:3.14.2-bookworm

multi arch image bundle versions Docker

Das ist praktisch, wenn du auf Apple Silicon entwickelst, aber die amd64-Version testen musst, die in der Produktion läuft, oder wenn du Images für eine andere Architektur baust als die deiner Build-Maschine.

Mehrere Tags ziehen

Das Flag --all-tags zieht alle Tags eines Repositories:

docker pull --all-tags python

Das lädt alle Python-Tags herunter – Dutzende von Versionen, Varianten und Architekturen. Du landest schnell bei Gigabytes an Images.

Nutze das nur, wenn du es wirklich brauchst. Bandbreite kostet, Speicher ist schnell voll, und du benötigst vermutlich nicht jede je veröffentlichte Python-Version. Ziehe stattdessen die spezifischen Tags, die du tatsächlich verwendest.

Einen Pull abbrechen

Drücke Strg+C oder CMD+C, um einen laufenden Pull abzubrechen.

Docker stoppt das Herunterladen neuer Layer, behält aber bereits geladene Layer. Beim nächsten Pull desselben Images macht Docker dort weiter, wo es aufgehört hat, statt von vorne zu beginnen.

Das ist hilfreich, wenn du versehentlich das falsche Image ziehst, wenn ein Pull über eine langsame Verbindung zu lange dauert oder wenn dir auffällt, dass du das Image gerade nicht brauchst. Brich ab, korrigiere den Befehl und ziehe erneut – ohne die bereits geleistete Arbeit zu verlieren.

Performance-Aspekte bei docker pull 

Reale Netzwerke haben Grenzen, etwa Bandbreitenlimits, Proxys und langsame Verbindungen. Das kann Pulls unnötig verlangsamen – hier zeige ich dir, was du dagegen tun kannst.

Pull-Performance optimieren

Docker lädt Image-Layer standardmäßig parallel herunter.

Statt Layer nacheinander zu ziehen, öffnet Docker mehrere Verbindungen und lädt mehrere Layer gleichzeitig. Das beschleunigt Pulls bei schnellen Verbindungen, bringt aber wenig auf langsamen Netzen, wo die Bandbreite der Engpass ist.

Zwei gängige Strategien helfen zusätzlich:

  • Caching hält gezogene Images lokal vor. Einmal ziehen, hunderte Male nutzen. Docker prüft vor dem Download, ob du die Layer schon hast. Wenn sich das Image nicht geändert hat, ist der Pull sofort fertig.
  • Preloading bedeutet, Images zu Nebenzeiten oder im Rahmen des Deployments zu ziehen. CI/CD-Systeme cachen häufig Basis-Images auf Build-Agents, damit Entwickler nicht bei jedem Build warten. Produktionsserver können beim Deployment Caches aufwärmen, um Pulls unter Last zu vermeiden.

Images hinter Proxys ziehen

Unternehmensnetze leiten Traffic aus Sicherheits-, Monitoring- und Zugriffsgründen über Proxys.

Docker muss diese Proxys kennen, um Images zu ziehen. Ohne Proxy-Konfiguration scheitern Pulls mit Timeouts oder DNS-Fehlern, weil Docker versucht, Registries direkt zu erreichen, statt über den Proxy zu gehen.

Du konfigurierst Proxys auf zwei Ebenen: für den Docker-Client und den Docker-Daemon. Der Client (dein docker Befehl) nutzt automatisch die HTTP-Proxy-Einstellungen deines Systems. Der Daemon braucht eine explizite Konfiguration in /etc/docker/daemon.json oder über systemd-Servicedateien.

Häufige Pull-Probleme beheben

Hier ist eine praktische Checkliste für den Fall, dass Pulls scheitern – denn das passiert, und du solltest wissen, was du zuerst prüfst.

Typische Fehler und Diagnose

Authentifizierungsfehler erscheinen als „unauthorized“ oder „access denied“.

Prüfe mit docker login, ob du angemeldet bist. Falls ja, könnten deine Zugangsdaten abgelaufen oder falsch sein. Melde dich mit docker logout ab und dann wieder an. Für private Registries stelle sicher, dass du im Login-Befehl den richtigen Hostnamen verwendest.

Fehlende Tags führen zu „manifest unknown“ oder „not found“.

Der Tag existiert nicht. Tippfehler sind häufig – prüfe die Schreibweise. Sieh im Web-Interface der Registry nach, welche Tags wirklich vorhanden sind. Denk daran: Tags können gelöscht werden. Was gestern ging, muss heute nicht mehr verfügbar sein.

Netzwerk-Timeouts treten auf, wenn Docker die Registry nicht erreicht.

Prüfe zuerst deine Internetverbindung. Verifiziere dann die Erreichbarkeit der Registry – führe ping registry-1.docker.io oder curl -I <https://registry-1.docker.io> aus. Bist du hinter einem Proxy, stelle sicher, dass Docker davon weiß. Ist die Registry privat, prüfe Firewall-Regeln und VPN-Verbindungen.

Berechtigungsprobleme äußern sich als „denied“-Fehler, selbst wenn du authentifiziert bist.

Du bist eingeloggt, hast aber keinen Pull-Zugriff auf dieses Repository. Kontaktiere die Eigentümerin/den Eigentümer des Repos oder deine Registry-Administration für Berechtigungen. Auf Docker Hub bedeutet das meist: Das Image ist privat und du stehst nicht auf der Zugriffsliste.

DNS- und Namensauflösungsprobleme

DNS-Fehler hindern Docker daran, den Registry-Server zu finden.

Du siehst Meldungen wie „no such host“ oder „temporary failure in name resolution“. Tatsächlich kann Docker den Registry-Hostnamen nicht in eine IP auflösen und daher keine Verbindung herstellen.

Zur Behebung prüfe die DNS-Auflösung mit nslookup registry-1.docker.io oder dig registry-1.docker.io. Schlagen diese Befehle fehl, ist dein DNS-Server nicht erreichbar oder falsch konfiguriert. Wechsle testweise auf einen öffentlichen DNS-Server wie 8.8.8.8, um zu sehen, ob das hilft.

In Firmennetzen löst der DNS-Server ggf. nur interne Hostnamen auf. Stelle sicher, dass der Hostname deiner privaten Registry im DNS hinterlegt ist, oder trage ihn als Workaround bis zur Behebung in /etc/hosts ein.

docker pull in orchestrierten und lokalen Workflows

Jetzt zum spannenden Teil – wie der Befehl docker pull in typischen Job-Szenarien arbeitet.

Image-Pulls in Kubernetes

Kubernetes zieht Images automatisch, wenn du Pods deployst.

Du definierst in deiner Pod-Spezifikation einen Container mit einer Imagereferenz, und Kubernetes kümmert sich um den Pull. Der Kubelet auf jedem Node prüft, ob das Image lokal vorhanden ist. Falls nicht, wird es vor dem Starten des Containers aus der Registry gezogen.

Pull-Policies steuern, wann Kubernetes Images zieht:

  • Always: Image immer ziehen, auch wenn es lokal vorhanden ist

  • IfNotPresent: Nur ziehen, wenn das Image auf dem Node nicht existiert (Standard für getaggte Images)

  • Never: Nie ziehen, fehlschlagen, wenn das Image nicht lokal ist

Lege die Policy in deiner Pod-Spezifikation mit imagePullPolicy fest. Nutze Always für :latest in der Entwicklung, um Updates zu erhalten. Nutze IfNotPresent für spezifische Tags in der Produktion, um unnötige Pulls zu vermeiden.

Mit imagePullSecrets gibst du Kubernetes Zugriff auf private Registries. Du erstellst ein Secret mit deinen Registry-Zugangsdaten und referenzierst es in der Pod-Spezifikation. Ohne dieses Secret kann Kubernetes nur öffentliche Images ziehen.

Docker Compose und lokale Entwicklung

Compose automatisiert Pulls beim Starten von Multi-Service-Anwendungen.

Mit docker compose up prüft Compose das Image jedes Dienstes. Fehlt ein Image, zieht Compose es, bevor die Container gestartet werden. Du musst docker pull nicht manuell für jeden Dienst ausführen – Compose übernimmt das für dich.

Das ist ideal für die Entwicklung. Du definierst deine Services in docker-compose.yml, führst einen einzigen Befehl aus, und Compose zieht alles Nötige. Der erste up dauert länger wegen der Downloads, aber spätere Läufe sind sofort fertig, wenn sich die Images nicht geändert haben.

docker compose vs docker compose pull

Das sind zwei verschiedene Befehle mit unterschiedlicher Wirkung.

docker compose up startet deine Services. Fehlende Images werden automatisch gezogen, aber nur, wenn sie lokal nicht existieren. Hast du python:3.14.2-bookworm bereits auf der Maschine, nutzt Compose dieses Image, ohne auf Updates zu prüfen.

docker compose pull zieht explizit alle im Compose-File definierten Images – unabhängig davon, ob sie lokal vorhanden sind. Dabei werden Registries auf Updates geprüft und neuere Versionen heruntergeladen, falls verfügbar.

Dafür brauchst du docker compose pull:

  • Du nutzt :latest Tags und möchtest die neueste Version. Führe zuerst docker compose pull aus, dann docker compose up, um mit frischen Images zu starten.

  • Du debuggst und vermutest, dass dein lokales Image veraltet oder beschädigt ist. Ziehe frische Kopien mit docker compose pull und starte neu.

  • Du willst Images vorladen, bevor Services tatsächlich starten. Führe docker compose pull während des Deployments aus, um Images zu cachen; dann läuft docker compose up ohne Download-Wartezeiten.

Der entscheidende Unterschied: up zieht nur, was fehlt, und pull aktualisiert alles – unabhängig von deinem lokalen Bestand.

Fazit

Der Befehl docker pull wirkt simpel, doch unter der Oberfläche passiert viel – und du kannst vieles feinjustieren. Hier ein paar Best Practices, die du im Blick behalten solltest.

Nutze explizite Tags oder Digests statt :latest. Authentifiziere deine Pulls, um Rate Limits zu vermeiden. Achte auf Bandbreite und Speicher beim Ziehen von Images, besonders in CI/CD-Pipelines mit häufigen Pulls.

Behandle Image-Pulls als Teil deiner Security-Pipeline. Jeder Pull ist ein potenzielles Einfallstor, wenn du unzuverlässige Quellen nutzt oder veraltete Images mit bekannten Schwachstellen. Verifiziere Quellen, scanne auf Probleme und halte Basis-Images aktuell.

Docker-Registries und -Tools entwickeln sich ständig weiter. Bleib über die Updates deines Registry-Providers auf dem Laufenden, um Überraschungen zu vermeiden, die deinen Workflow stören.

Wenn du bereit bist, deine Docker- und Container-Kenntnisse auf ein professionelles Level zu bringen, schau dir unseren Intermediate Docker Kurs an oder wähle unseren kompletten Lernpfad Containerization and Virtualization with Docker and Kubernetes.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Senior Data Scientist mit Sitz in Kroatien. Top Tech Writer mit über 700 veröffentlichten Artikeln, die mehr als 10 Millionen Mal aufgerufen wurden. Buchautor von Machine Learning Automation with TPOT.

docker pull FAQs

What does docker pull do?

docker pull lädt Container-Images von Registries wie Docker Hub auf deinen Rechner. Es werden die Image-Layer geholt, die du noch nicht hast, und lokal gespeichert, damit du daraus Container starten kannst. Ohne vorheriges Pullen kannst du keine Container starten, sofern die Images nicht bereits vorhanden sind.

How do I avoid Docker Hub rate limits?

Melde dich mit docker login an, um dein Rate Limit von 100 auf 200 Pulls pro sechs Stunden zu verdoppeln. Wenn Teams häufig an Limits stoßen, nutze eine private Registry oder richte einen Pull-Through-Cache ein, der Images lokal speichert. Der einfachste Fix ist die Authentifizierung – selbst ein kostenloser Docker-Hub-Account macht einen großen Unterschied.

What's the difference between docker pull and docker image pull?

Sie sind funktional identisch und tun genau dasselbe. Docker hat docker image pull im Rahmen einer CLI-Neuorganisation eingeführt, um verwandte Befehle zu gruppieren. Nutze, was du bevorzugst – docker pull ist kürzer und üblicher, während docker image pull in Skripten expliziter ist.

Should I use image tags or digests in production?

Nutze in der Produktion Digests für garantierte Unveränderlichkeit. Tags wie python:3.14.2-bookworm können sich ändern, wenn jemand ein neues Image mit demselben Tag pusht, Digests sind jedoch SHA256-Hashes und ändern sich nie. Ziehe per Digest mit docker pull python@sha256:abc123…, um jedes Mal exakt dasselbe Image zu erhalten.

Why does docker pull fail with "manifest unknown" errors?

Der Tag, den du ziehen willst, existiert in der Registry nicht. Prüfe den Namen auf Tippfehler und verifiziere im Web-Interface der Registry, dass der Tag vorhanden ist. Tags können auch gelöscht werden – was früher ging, ist eventuell nicht mehr verfügbar.

Themen
Datentechnik

Mit DataCamp Docker lernen

Kurs

Einführung in Docker

4 Std.
51.7K
Dieser Einführungskurs stellt dir Docker als wichtiges Tool für Datenprofis vor und erläutert Container, Images und mehr in Docker.
Details anzeigenRight Arrow
Kurs Starten
Mehr anzeigenRight Arrow
Verwandt

Blog

Arten von KI-Agenten: Ihre Rollen, Strukturen und Anwendungen verstehen

Lerne die wichtigsten Arten von KI-Agenten kennen, wie sie mit ihrer Umgebung interagieren und wie sie in verschiedenen Branchen eingesetzt werden. Verstehe einfache reflexive, modellbasierte, zielbasierte, nutzenbasierte, lernende Agenten und mehr.

Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Tutorial

Python Datenstrukturen Tutorial

Mach dich mit Python-Datenstrukturen vertraut: Lerne mehr über Datentypen und primitive sowie nicht-primitive Datenstrukturen wie Strings, Listen, Stapel usw.
Sejal Jaiswal's photo

Sejal Jaiswal

24 Min.

Tutorial

Wie man Listen in Python aufteilt: Einfache Beispiele und fortgeschrittene Methoden

Lerne, wie du Python-Listen mit Techniken wie Slicing, List Comprehensions und itertools aufteilen kannst. Finde heraus, wann du welche Methode für die beste Datenverarbeitung nutzen solltest.
Allan Ouko's photo

Allan Ouko

11 Min.

Tutorial

30 coole Python-Tricks für besseren Code mit Beispielen

Wir haben 30 coole Python-Tricks zusammengestellt, mit denen du deinen Code verbesserst und deine Python-Kompetenzen ausbaust.
Kurtis Pykes 's photo

Kurtis Pykes

15 Min.

Mehr AnzeigenMehr Anzeigen