Eine Docker-Registrierung ist ein Repository zum Verwalten von Docker-Images. Die Registrierung ist ein eigener Dienst und kein Bestandteil der Docker-Engine.
Die Registry hat eine ähnliche Verwendung wie Repository-Manager wie Artifactory oder Nexus, mit einem großen Unterschied: Ein Repository-Manager wird in der Regel Repository für verschiedene Arten von Technologien verwalten können, zum Beispiel: Maven, NPM, Ruby Gems, CocoaPods, Git LFS, Python Eier und andere. Eine reine Docker-Registrierung wird nur Docker-Bilder verwalten.
Es gibt einige Dinge, die Sie berücksichtigen sollten, wenn Sie ein Tool zum Verwalten Ihrer Docker-Registrierung auswählen:
-
Leistung - Docker-Bilder können sehr groß sein. In einer CI / CD-Umgebung, in der täglich eine große Anzahl von Docker-Bildern erzeugt wird, benötigen Sie ein Werkzeug, mit dem Sie mit der Last fertig werden und die Sie beim Wachstum skalieren können. Einige Tools bieten eine Clustered (HA) -Version, mit der die Last auf mehrere Knoten verteilt werden kann.
-
Speicherverwaltung - Docker-Images verbrauchen viel Speicherplatz. Es ist besser, ein Werkzeug zu wählen, das den benötigten Speicher effizient verwaltet:
- Unterstützt die Deduplizierung von Bildebenen zwischen Bildern und Repositories
- Reinigt effizient ungenutzte Bildebenen (Garbage Collection). Beachten Sie, dass einige Tools den Welt-GC-Mechanismus stoppen, der die Leistung beeinträchtigt.
- Bietet Aufräumvorgänge / -mechanismen für Bilder, die das Löschen von Bildern basierend auf Alter, Nutzung usw. ermöglichen.
- Unterstützt mehrere Speicher-Backends - Dateisystem, Objektspeicher
-
Unterstützung für mehrere Registrys - Einige Tools beschränken die Verwaltung einer einzelnen Registrierung, während andere die parallele Verwaltung mehrerer Registrys ermöglichen. Dies ist nützlich, wenn Sie zwischen Snapshots und produktionsbereiten Images trennen müssen.
-
Unterstützung für die neueste Docker-Version - Die Docker-Registrierungs-API und das Manifest-Format ändern sich häufig. Stellen Sie sicher, dass Sie ein Tool auswählen, das alle aktuellen Änderungen unterstützt.
-
Universal - Wenn Sie mehr als Docker-Images verwalten müssen, was normalerweise der Fall ist, da Sie auch Tools wie NPM, Bower, Yum und andere verwenden, die ebenfalls eine Registrierung benötigen, wählen Sie einen universellen Repository-Manager, der dies unterstützt solche Technologien.
-
Bereit für Unternehmen - Suchen Sie nach einem Tool, das bereit für Unternehmen ist und Funktionen wie LDAP-Konnektivität, rollenbasierte Zugriffssteuerung, hohe Verfügbarkeit, Multi-Site-Entwicklung usw. unterstützt.
Disclaimer: Ich arbeite für JFrog, die Firma hinter Artifactory