Grundlagen der Registry
Was ist eine Docker Registry?
Eine Docker Registry ist ein Speicher- und Verteilungssystem für Docker-Images. Sie ermöglicht es Benutzern, Container-Images an einem zentralen Ort hochzuladen (push), herunterzuladen (pull) und zu verwalten. Docker Hub ist die bekannteste öffentliche Registry, aber Organisationen nutzen oft private Registries für mehr Kontrolle und Sicherheit.
Wichtige Komponenten einer Docker Registry
Komponente |
Beschreibung |
Zweck |
Image-Repository |
Speicherort für Docker-Images |
Organisation und Speicherung von Container-Images |
Authentifizierung |
Benutzerzugriffskontrolle |
Verwaltung, wer Images hoch- oder herunterladen kann |
Image-Tagging |
Versionsidentifizierungssystem |
Verfolgung unterschiedlicher Versionen von Images |
Registry-Architektur
graph TD
A[Docker Client] -->|Push/Pull| B[Docker Registry]
B -->|Store Images| C[Image Repository]
B -->|Authenticate| D[Authentication Service]
Einrichten einer lokalen Registry
Um eine grundlegende Docker Registry auf Ubuntu 22.04 einzurichten, verwenden Sie die folgenden Befehle:
## Pull the official registry image
docker pull registry:2
## Run a local registry on port 5000
docker run -d -p 5000:5000 --restart=always --name registry registry:2
## Verify the registry is running
docker ps | grep registry
Registry-Typen
-
Öffentliche Registries
- Docker Hub
- Quay.io
- GitHub Container Registry
-
Private Registries
- Eigengehostete Registries
- Cloud-Provider-Registries
- Unternehmens-Container-Registries
Best Practices
- Verwenden Sie Authentifizierung für private Registries.
- Implementieren Sie Image-Scans.
- Löschen Sie regelmäßig nicht verwendete Images.
- Verwenden Sie Image-Tags zur Versionskontrolle.
LabEx-Tipp
Wenn Sie die Docker Registry-Verwaltung lernen, bietet LabEx praktische Umgebungen, um das Einrichten und Beheben von Problemen bei Registries in einer sicheren, kontrollierten Umgebung zu üben.
Häufige Registry-Konfigurationen
## Example: Configuring registry with authentication
docker run -d \
-p 5000:5000 \
--restart=always \
--name registry \
-v /path/to/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:2
Dieser Abschnitt bietet einen umfassenden Überblick über Docker Registries und behandelt ihre grundlegenden Konzepte, Architektur und praktischen Implementierungsstrategien.