Container-Registries bieten einen Speicherort für inaktive Container-Images, schützen diese und ermöglichen Administratoren, Richtlinien für die Verwaltung der Images festzulegen.
Container, also leichtgewichtige Dateien, die alle zum Ausführen einer Anwendung erforderlichen Abhängigkeiten enthalten, können in mehreren Umgebungen ausgeführt und zwischen ihnen übertragen werden. Container-Registries enthalten Repositories, in denen Container-Images gespeichert werden, wenn sie nicht aktiv ausgeführt werden, sowie Funktionen für Entwickler, um ihre Containerverwaltung zu automatisieren.
Im Folgenden erfahren Sie alles über die Container-Registry-Technologie und die führenden Container-Registry-Anbieter auf dem Markt:
Den richtigen Container-Registry-Anbieter auswählen
- Führende Container-Registry-Anbieter
- Container-Registry-Vergleich
- Funktionen von Container-Registries
- Vorteile von Container-Registries
- Anwendungsfälle für Container-Registries
- Worauf Sie bei Container-Registry-Software achten sollten
Lesen Sie auch: Top-Lösungen für Container-Software
Führende Container-Registry-Anbieter
Azure Container Registry
Azure Container Registry ist eine von dem Cloud-Anbieter Microsoft Azure angebotene Speicherlösung. Sie unterstützt sowohl Docker- als auch Open-Container-Initiative-(OCI-)Images. Azure unterstützt außerdem alle anderen OCI-Artefakte, etwa Nicht-Container-Images, die in einer Registry gespeichert sind. Administratoren können Artefakte in eine Azure-Registry und aus ihr
pushen und pullen.
Azure Container Registry kann mit Azure Kubernetes Service und Azure Red Hat OpenShift verbunden werden, zwei weiteren Container-Lösungen. Wenn Azure Kubernetes Service und Azure Container Registry beide auf Azure Stack Hub ausgeführt werden, können Benutzer gespeicherte Container-Images bereitstellen, um sie in AKS auszuführen.
Durch die geografische Replikation können Unternehmen Registries replizieren in andere geografische Azure-Regionen, sodass Images aus der Region abgerufen werden können, die ihrem Container-Host am nächsten liegt. Die physische Nähe kann die Kosten für die Datenübertragung senken und erhöht außerdem die Ausfallsicherheit, wenn eine Region ausfällt.
Azure hat drei Preisstufen mit täglicher Abrechnung:
- Basic: 0,167 US-Dollar, 10 GB Speicher
- Standard: 0,667 US-Dollar, 100 GB Speicher
- Premium: 1,667 US-Dollar, 500 GB Speicher
Wichtige Unterscheidungsmerkmale
- Integrationen mit anderen Azure-Container-Lösungen
- Geografische Replikation von Registries für höhere Ausfallsicherheit
- Unterstützung für Docker- und OCI-Images sowie OCI-Artefakte
Docker Hub
Docker Hub ist eine kostenlose, gehostete Container-Bibliothek für Unternehmen, die nicht für eine Container-Registry bezahlen oder diese verwalten möchten. Sie eignet sich ideal für Entwickler, die zusammenarbeiten möchten: Docker Hub ermöglicht Softwareentwicklern, Container-Images öffentlich zu teilen und mit anderen Entwicklern zu
kommunizieren. Wenn ein Unternehmen jedoch mehr Sicherheit für Container-Images benötigt oder nicht vorhat, sie mit externen Entwicklern zu teilen, kann es das Abonnement für einen privaten Docker-Hub-Tarif bezahlen.
Hub-Benutzer haben außerdem Zugriff auf offizielle Qualitäts-Images von Docker. Zusätzlich können sie Images von externen Anbietern pushen und pullen, deren Image-Qualität von Docker überprüft wurde. Docker Hub ist eine gute Wahl, wenn Ihr Unternehmen hauptsächlich Docker-Images verwendet und Ihre Entwickler auf Container-Ressourcen der Community zugreifen möchten, insbesondere auf solche mit zuvor verifizierter Qualität.
Wenn Ihre Entwickler Bitbucket oder GitHub für Container-Images verwenden, können sie Images innerhalb dieser Plattformen zu Docker Hub pushen.
Docker bietet drei kostenpflichtige Enterprise-Tarife an: Pro, Team und Business. Diese beinhalten den Zugriff auf Hub.
Wichtige Unterscheidungsmerkmale
- Kostenlos für kleine Unternehmen und zur öffentlichen Speicherung von Container-Images
- Zugriff auf offizielle Docker-Images und verifizierte Images externer Anbieter
- Integration mit Bitbucket und GitHub
Lesen Sie auch: Bitbucket vs. GitHub: Vergleich von DevOps-Tools
Red Hat Quay
Red Hat bietet Quay, eine private Container-Registry für die Images von Kunden, an und stellt Integrationen mit Entwicklungstools wie GitHub und Bitbucket bereit. Benutzer können neue Container bereitstellen, indem sie Daten aus diesen Repositories abrufen. Red Hat bewahrt zwei Wochen lang einen Verlauf der Repository-Tags auf, mit dem Entwickler auf eine bestimmte Image-Version zurücksetzen können. Wenn ein
Entwicklungsteam beschließt, die Version eines Images zu verwenden, das vor fünf Tagen im Repository geändert wurde, kann es dafür die Tags nutzen.
Red Hat verwendet Integrationen von Drittanbietern, um Container-Images auf Schwachstellen zu prüfen. Für Authentifizierung und Zugriffskontrolle können Unternehmen vorhandene Protokolle wie Lightweight Directory Access Control (LDAP) und offene Authentifizierung (OAuth) verwenden sowie Berechtigungen für den Zugriff von Teams auf Repositories erstellen.
Red Hat unterstützt mehrere Speicher-Backends zur Speicherung von Containern. Für Audits erstellt Quay Protokolle von Ereignissen in Control Plane und Data Plane, von Application-Programming-Interface-(API-)Aktionen sowie von Aktionen der Benutzeroberfläche (UI). Dadurch erhalten Administratoren einen besseren Überblick über Änderungen an Repositories oder Images.
Die Enterprise-Preise für Quay sind auf Anfrage beim Vertriebsteam von Red Hat erhältlich.
Wichtige Unterscheidungsmerkmale
- Geografische Replikation für höhere Ausfallsicherheit
- Integrationen mit GitHub und Bitbucket
- Audit-Protokolle von Control-Plane-, Data-Plane- und API-Ereignissen
Amazon ECR
Amazon Elastic Container Registry, kurz ECR, ist ein von AWS bereitgestellter Registry-Service. AWS bietet eine kostenlose Registry-Stufe mit bis zu 500 MB Speicher für private Repositories an. ECR wird vollständig verwaltet und ermöglicht es Entwicklungsteams, Code zu schreiben, ihn als Docker-Image zu paketieren,
und in der Registry zu speichern. Teams können Container aus der Registry abrufen, um sie in Amazon Elastic Kubernetes Service (EKS) und Elastic Container Service (ECS) auszuführen.
Mit ECR können Entwickler automatische Richtlinien festlegen, die bestimmen, wie lange ein Container-Image gespeichert werden soll, basierend auf der aktuellsten Version. ECR unterstützt private Container-Registries mit Berechtigungen, die AWS-Identity and Access Management (IAM) verwenden, um den Benutzerzugriff auf Ressourcen zu steuern. Benutzer und EC2-Instanzen mit entsprechenden Berechtigungen erhalten Zugriff auf die Images in den Repositories.
Durch die regionsübergreifende Replikation können Unternehmen ihre Repositories in einer anderen Region replizieren, um ihre Container-Images zu schützen, falls der Speicher in ihrer Region ausfällt. Diese Einstellung wird für jede Region separat konfiguriert.
Nach Überschreiten der Grenzen der kostenlosen Stufe kostet der Speicher in privaten Repositories 0,10 US-Dollar/GB/Monat. Für die Datenübertragung von gepushten und abgerufenen Images fallen ebenfalls Kosten an; diese variieren je nach Region.
Wichtige Unterscheidungsmerkmale
- Verfügbare Integrationen mit Amazon EKS und ECS
- Automatisierte Speicherrichtlinien für Image-Versionen
- AWS IAM für den Benutzerzugriff auf private Registries
Lesen Sie auch: Die besten Tools für Containersicherheit
Harbor Container Registry
Harbor ist eine Open-Source-Container-Registry, die in Kubernetes-Umgebungen und auf Docker-kompatiblen Systemen ausgeführt wird. Harbor verwendet die Open-Source-Lösungen Trivy und Clair von Drittanbietern, um statische Schwachstellen-Scans für Container-Images und Artefakte durchzuführen. Die Spalte „Schwachstellen“ innerhalb eines ausgewählten Repositories listet den Scan-Status jedes Artefakts auf. Administratoren können ein einzelnes Artefakt oder alle Artefakte im Repository zum Scannen auswählen. Harbor verwendet sechs verschiedene Farben, die anzeigen, ob eine Schwachstelle erkannt wurde und wie schwer sie ist.
Harbors Integrationen mit Notary und Cosign erhöhen die Vertrauenswürdigkeit von aus der Registry abgerufenen Images: Notary und Cosign überprüfen und signieren Container-Images und Artefakte. Administratoren können Harbor so konfigurieren, dass nur von einem oder beiden Tools verifizierte Images abgerufen werden.
Die Dokumentation von Harbor führt abhängig von ihrer Rolle in einem Registry-Projekt die Berechtigungen der Benutzer auf, sodass Administratoren genau wissen, was jedes Mitglied anzeigen kann. Harbor bietet Unternehmen mehrere Optionen für die Authentifizierung: Die Datenbankauthentifizierung wird direkt in Harbor verwaltet; die LDAP/Active Directory-Authentifizierung wird über einen externen LDAP- oder AD-Anbieter verwaltet; und die Authentifizierung über einen OIDC-Provider wird von einem externen OIDC-Provider verwaltet.
Wichtige Unterscheidungsmerkmale
- Integrationen mit Open-Source-Scannern für Schwachstellen und detaillierte Schwachstellenaufzeichnungen
- Integrationen mit Tools zur Signaturprüfung
- Mehrere Optionen für die Benutzerauthentifizierung
Container-Registry-Vergleich
| Kostenlos (Stufe oder Lösung) | Integration mit GitHub oder Bitbucket | Unterstützt OCI-Artefakte | |
|---|---|---|---|
| Azure Container Registry | X | ✅ | ✅ |
| Docker Hub | ✅ | ✅ | X |
| Red Hat Quay | X | ✅ | ✅ |
| Amazon ECR | ✅ | ✅ | ✅ |
| Harbor Container Registry | ✅ | ✅ | ✅ |
Funktionen von Container-Registries
- Öffentliche und private Registries anbieten: Im Allgemeinen sollten Unternehmen private Registries wählen, da diese eine höhere Sicherheit für ihre Container-Images bieten.
- Mehrere Versionen von Container-Images speichern: Wenn ein Unternehmen zu einem früheren Zustand eines Images zurückkehren möchte, können seine Entwickler dieses Image aus dem Registry-Speicher abrufen.
- In andere Entwicklungstools integrieren: GitHub und Bitbucket, wo Entwickler gemeinsam in Repositories an Code arbeiten, sind beliebte Beispiele.
- Registry-Benutzer authentifizieren: Die Daten in Containern sollten geschützt werden. Dazu gehört, den Benutzerzugriff auf Images einzuschränken und die Identitäten der Benutzer zu überprüfen.
Vorteile von Container-Registries
Höhere Flexibilität bei der Entwicklung: Registries helfen Entwicklern, die Vorteile der Container-Flexibilität zu nutzen: Images können aus einer Registry abgerufen und in mehreren Umgebungen ausgeführt werden. Da Container alle Abhängigkeiten einer Anwendung an einem isolierten Ort bündeln, können sie auf mehreren Betriebssystemen ausgeführt werden. Diese Flexibilität hilft Unternehmen und Teams, die unterschiedliche Betriebssysteme und Plattformen verwenden, kritische Workloads auszuführen.
Entwicklungs-Workflow optimieren: Durch die Integration von Registries in Entwicklungstools wie GitHub können Entwicklungsteams bequem in einem separaten Repository an Code arbeiten und ihn anschließend in die Container-Registry übertragen. Integrationen mit anderer Software geben Entwicklern mehr Flexibilität beim Erstellen und Speichern von Container-Images.
Bereitstellung beschleunigen: Entwickler können die Bereitstellungsfenster für Container-Anwendungen mit Funktionen wie der Bereitstellung per Einzelbefehl und lokalen Pull-Benachrichtigungen verkürzen.
Anwendungsfälle für Container-Registries
„Mit seiner standardisierten Architektur und virtualisierten, automatisierten Testumgebung senkte der VW-Konzern die Kosten für Systemtests um 50 %. Außerdem verbesserte er mit seiner neuen Plattform und agilen Prozessen die Zusammenarbeit zwischen Teams und Partnern. Der Konzern plant, seine Red-Hat-Softwareumgebung zu optimieren und zu erweitern, um aktuelle und zukünftige Innovationen zu unterstützen. Für seine Organisation Car.Software prüft er die Einrichtung eines durchgängigen Integrationstestprozesses mit dem Ziel, innerhalb von nur 24 Stunden vom Code-Commit bis zur Bereitstellung in Kundenfahrzeugen zu gelangen.“ –Fallstudie der Abteilung Electric Development des Volkswagen-Konzerns, die Red-Hat-Lösungen einschließlich der Quay-Container-Registry einsetzt
„Die Systemplattform containerisiert Anwendungen nach Service und Funktion und verwaltet sie im Azure Kubernetes Service (im Folgenden AKS), einem verwalteten Kubernetes-Service. Die Kern-Engines der E-Services sind Geocoding und der Abruf geospatialer Informationen, die ebenfalls als Container-Anwendungen ausgeführt werden.“ –Koji Kagaya, Senior Engineer bei UPWARD, in einer Fallstudie zu Azure-Services und dazu, wie diese UPWARD bei der Modernisierung seiner Infrastruktur unterstützt haben, einschließlich der automatisierten Anwendungsbereitstellung mit Azure Container Registry und GitHub, um „den Arbeitsaufwand zu reduzieren und Skalierbarkeit sicherzustellen“.
Worauf Sie bei Container-Registry-Software achten sollten
Achten Sie bei den Sicherheitsfunktionen der Container-Registry auf Ihre geschäftlichen Anforderungen. Wenn Ihr Unternehmen in einer Branche wie dem Gesundheitswesen oder dem Finanzdienstleistungssektor tätig ist und kritische Anwendungen in Containern ausführen wird, wählen Sie eine Registry, die Images mit zusätzlichen Sicherheitsfunktionen speichert.
Wählen Sie einen Anbieter, der konfigurierbare und flexible Zugriffskontrollen unterstützt. Container können wichtige Anwendungsdaten enthalten, und Ihr Unternehmen sollte den Zugriff darauf beschränken, wer darauf zugreifen kann.
Wenn Ihre Entwicklungsteams Container-Images innerhalb eines Tools wie GitHub oder Bitbucket erstellen und gemeinsam nutzen, wählen Sie eine Lösung, die in eines oder mehrere dieser Tools integriert ist, damit Entwickler weiterhin in den Anwendungen arbeiten können, die sie bereits zum Entwickeln von Containern verwenden.
Lesen Sie als Nächstes: Der Containerisierungsmarkt