Eine Docker Registry ist ein Speicher- und Verteilungssystem für Docker Images — du pushst Images dorthin und pullst sie von dort. Docker Hub ist die Standard-Public-Registry; Organisationen nutzen oft private Registries. Registries ermöglichen den Austausch und die Bereitstellung von Images.
Was eine Registry macht
A REGISTRY stores and distributes Docker images:
→ PUSH an image to the registry (upload/publish it)
→ PULL an image from the registry (download it to run)
→ This is how images move between machines: build once, push, pull anywhere
(CI builds an image → pushes to a registry → production pulls and runs it)
Docker Hub verwenden (die Standard-Public-Registry)
# pull a public image (implicitly from Docker Hub)
docker pull nginx:latest
docker pull postgres:16
# push your own image
docker login # authenticate
docker tag myapp:1.0 username/myapp:1.0 # tag with your registry namespace
docker push username/myapp:1.0 # upload to Docker Hub
Docker Hub ist die Standard-Registry — docker pull nginx lädt von dort. Um deine eigenen Images zu veröffentlichen, meldest du dich an, taggst sie mit deinem Namespace und pushst sie.
Private und Cloud-Registries
Organizations use PRIVATE registries (images not public):
→ cloud provider registries: AWS ECR, Google GCR/Artifact Registry, Azure ACR
→ GitHub Container Registry, GitLab Registry, self-hosted Harbor, etc.
→ Used to store proprietary images securely; integrated with CI/CD and deployment.
Tags und Versionierung
→ Images are tagged: name:tag (e.g. myapp:1.0, myapp:latest, myapp:abc123)
→ Use specific version tags (myapp:1.2.3) in production, NOT just "latest"
("latest" is mutable/ambiguous → unpredictable deployments)
Warum es wichtig ist
Docker Registries zu verstehen ist wichtig, weil sie die Art und Weise sind, wie Docker Images geteilt und bereitgestellt werden — ein fundamentaler Teil des Docker-Workflows — daher ist es wertvollles praktisches Wissen.
Die Kernfunktion einer Registry — Images zu speichern, die du pushst (veröffentlichst) und pullst (herunterlädst) — ist essentiell dafür, wie Images zwischen Maschinen und bis zur Produktion gelangen: Der typische Workflow hat CI, das ein Image erstellt, es in eine Registry pusht, und Production, die es pullt und ausführt. Damit ist die Registry der zentrale Knotenpunkt der Image-Verteilung und Bereitstellung.
Docker Hub zu verstehen (die Standard-Public-Registry, die docker pull nutzt und wo du Images veröffentlichen kannst, indem du dich anmeldest, sie mit deinem Namespace taggst und pushst) ist fundamental.
Kenntnis über private und Cloud-Registries (AWS ECR, Google Artifact Registry, Azure ACR, GitHub Container Registry, etc.) ist wichtig für echte Organisationen, die proprietäre Images sicher speichern und Registries in ihre CI/CD- und Deployment-Pipelines integrieren.
Tags und Versionierung zu verstehen ist praktisch wertvoll — besonders die Best Practice, spezifische Version-Tags (myapp:1.2.3) statt latest in der Produktion zu nutzen (da latest veränderlich und mehrdeutig ist und zu unvorhersehbaren Deployments führt) — eine häufige Real-World-Überlegung.
Da das Teilen und Bereitstellen von Images ein fundamentaler Teil der Docker-Nutzung ist (Images müssen verteilt werden, um irgendwo zu laufen), und da Registries (Docker Hub, private/Cloud-Registries) der Mechanismus dafür sind — zentral für CI/CD- und Deployment-Workflows — ist das Verstehen von Docker Registries, Pushing/Pulling und Tagging wertvollles, häufig relevantes Wissen für den vollständigen Docker-Workflow und notwendig für die Verteilung und Bereitstellung containerisierter Anwendungen in jeder realen Umgebung.
