‫Voraussetzung für diese Vorlesung ist, dass Sie verstehen, was ein Bild ist, und dass
‫Sie ein wenig mit Containern gearbeitet haben.
‫In diesem Vortrag machen wir eine kurze Tour durch Docker Hub
‫und lernen einige seiner Grundfunktionen kennen. Dann werden wir den Unterschied zwischen einem offiziellen Bild und vielleicht anderen ebenso
‫guten Bildern diskutieren und wie man den Unterschied zwischen einem guten und einem schlechten Bild erkennt.
‫Dann werde ich ein wenig über das Herunterladen von Bildern und wie Sie die verschiedenen Tags, die sie
‫verwenden, und den Unterschied zwischen einem Alpenbild und anderen Bildoptionen sehen.
‫Sie sollten sich bei hub angemeldet haben. Docker. com. Wenn Sie sich auf Ihrer
‫Standardhomepage anmelden, wird Ihr Dashboard angezeigt, in dem alle öffentlichen und privaten Repositorys angezeigt werden.
‫Du wirst noch keine haben, aber du kannst sehen, dass ich welche hier habe.
‫Sie sind alle öffentlich.
‫Ich habe eine private. Gehen wir jetzt nach oben und suchen Nginx. Was wir zurückbekommen, sind die Suchergebnisse von Docker Hub und
‫Sie werden sehen, dass es eine Menge gibt. Ich könnte nach Seiten und Seiten scrollen.
‫Eine der Herausforderungen ist, dass es 15.000 Bilder von Nginx gibt.
‫Das ist eine Menge.
‫Also benutze ich so ziemlich nur ein oder zwei.
‫Die offizielle
‫Version hier, die oben zu sehen ist, hat mehr als 10 Millionen Züge.
‫Es gibt verschiedene Eigenschaften, um herauszufinden, was das richtige Bild ist.
‫Wie ich werden Sie anfangen, die Bilder für Ihren Workflow zu verwenden, die sich auf Ihre Arbeit beziehen, und Sie werden
‫sich an bestimmte Bilder gewöhnen. Sie werden bestimmte mögen.
‫Normalerweise beginnen wir immer mit dem Beamten.
‫Der Beamte wird der einzige sein, unter dem das Wort "Beamter" steht.
‫Es wird auch das einzige sein, bei dem sein Name keinen Schrägstrich enthält.
‫Wenn Sie und ich Bilder in Docker Hub erstellen, müssen Sie diese mit unserem Kontonamen vor ihnen
‫erstellen.
‫Wenn Sie sich also all diese anderen ansehen, sind dies Kontonamen, die Image-Repository-Namen in Schrägstriche setzen.
‫Es könnte sich tatsächlich um einen Organisations-Slash-Nginx oder ähnliches handeln.
‫Aber die einzigen, die nur den Namen des Repos haben, gelten als offiziell. Offizielle Bilder sind diejenigen,
‫die Docker, Inc. Tatsächlich gibt es ein Team von Mitarbeitern, die
‫sich um sie kümmern, sicherstellen, dass sie über eine hochwertige Dokumentation verfügen, gut getestet sind
‫und ordnungsgemäß mit Dockerfiles zusammengestellt sind, die den Best-Practice-Regeln entsprechen. Normalerweise arbeiten sie mit dem offiziellen Team dieser Software zusammen,
‫das sie tatsächlich erstellt, um sicherzustellen, dass sie alle Dinge tut, die sie tun sollte.
‫Also werde ich auf diesen klicken.
‫Schauen wir uns ein paar Dinge über die offiziellen Repositories an.
‫Wie ich bereits sagte, werden Sie häufig Beamte einsetzen, um damit zu beginnen, und dann werden Sie möglicherweise feststellen, dass
‫Sie es leicht ändern oder ein paar Dinge hinzufügen möchten, und Sie werden Ihre eigenen Bilder erstellen.
‫Offizielle Bilder sind ein guter Anfang.
‫Eines der besten Dinge an offiziellen Bildern ist ihre Dokumentation.
‫Sie sind immer sehr gut darin zu
‫dokumentieren, wie sie funktionieren, welche Optionen es gibt, welche Umgebungsvariablen, was der Standardport ist und so weiter.
‫Wenn Sie also ganz oben stehen, werden Sie diese Versionen bemerken. Versionen sind ein gemeinsames Merkmal von offiziellen Repositories.
‫Sie müssen nicht in jedem Bild Versionen haben, aber offizielle.
‫Weil die meisten Open-Source-Software immer mindestens ein paar offizielle Versionen im Umlauf sind, die
‫offiziell gewartet und unterstützt werden.
‫Das haben wir hier. Wir haben die Hauptlinie 1. 11 für Nginx und dann haben wir den stabilen
‫Zweig von Nginx, der 1 ist. 10. Wir können sehen, dass
‫der kleine Name hier Stall Jessie Dockerfile sagt.
‫Gut.
‫Also lasst uns das zusammenfassen.
‫1. 11. 9, mainline, 1, 1. 11 und spätestens.
‫Das sind alles Tags.
‫Wenn wir über Bilder sprechen, werden Bilder nicht unbedingt benannt. Bilder sind markiert. Eine Version eines Bildes kann tatsächlich
‫mehr als ein Tag haben.
‫Wir werden etwas später darauf eingehen, wenn wir anfangen, unsere eigenen Bilder zu machen,
‫und wir können mit dem Markieren herumspielen.
‫Wenn ich dieses bestimmte Bild herunterladen wollte und Sie sich erinnern möchten, dass wir es bereits heruntergeladen
‫haben, sehen
‫Sie zunächst die drei Bilder, mit denen wir bisher gearbeitet haben, wenn ich ein Docker-Bild erstellt habe meine Maschine.
‫Sie sehen das Tag mit der Aufschrift "latest". Neu ist ein spezieller Tag.
‫Es ist nicht unbedingt garantiert, dass es sich immer um das neueste Commit im Repository handelt.
‫In der Regel erhalten Sie die neueste Version dieses Produkts. In den offiziellen Repositories ist es sehr gut definiert und
‫konsistent, sodass
‫Sie, wenn es Ihnen im Moment egal war, welche Version Sie wollten, nur die
‫aktuellste wollten, dann können Sie einfach sagen, Docker Pull Nginx. Es würde die
‫neuesten herunterladen. Sie werden bemerken, dass es bereits wusste, dass ich es hatte. Es
‫hat den SHA überprüft, um sicherzustellen, dass es mit dem von Docker Hub übereinstimmt und
‫sagte: "Hey, ich habe dieses Bild bereits, es ist aktuell. "Was wäre, wenn ich Docker - Image - Version 1 herunterladen wollte? 11. 9?
‫Es wird nachsehen gehen, was es tun muss, um das Bild herunterzuladen, und es stellt
‫sich heraus, dass es nichts zu tun braucht, da es genau dieselbe Version ist.
‫Das bedeutet diese Zeile hier oben.
‫Ich kann auf diese 'Haupt-, neueste' Version gleich hier mit jedem dieser Tags verweisen.
‫Der Grund ist, wenn ich nur auf der neuesten Version von 1 bleiben wollte. 0, was auch immer das für Nginx sein mag,
‫ich könnte einfach eine 1 angeben. Wenn ich genauer sein wollte, als ich Bilder
‫heruntergeladen habe und die neueste Version von 1 haben wollte. 11, dann könnte ich einfach 1 eingeben. 11 gefällt das und lass
‫das einfach weg. 9 und es würde dieses herunterladen.
‫Aber in meinem Fall habe ich tatsächlich die spezifischste von allen 1 angegeben. 11. 9, die die Punktfreigabe zeigt,
‫und das war nur, um sicherzustellen, dass ich genau die Version bekam, die ich wollte.
‫Eine bewährte Methode für Ihre Software ist es, wenn Sie in die Produktion gehen und tatsächlich Software testen,
‫die Sie für andere verwenden
‫werden. Sie möchten immer die genaue Version angeben.
‫Es ist selten, dass Sie wirklich möchten, dass Ihre Software automatisch aktualisiert wird.
‫Normalerweise möchten Sie diesen Prozess mit einem anderen DevOps-Tool steuern.
‫Aber wenn Sie etwas vor Ort entwickeln oder testen, können Sie mit offiziellen Bildern ganz einfach den Namen
‫eingeben und davon ausgehen, dass Sie die neueste Version erhalten.
‫Sie werden also feststellen, dass es hier noch andere gibt.
‫Es gibt 1. 11. 9-alpine und diese haben alle sehr ähnliche Namen wie die erste, aber
‫sie haben alle das Wort alpine in sich.
‫Wir werden uns später mit Basis-Images und Distributionen befassen, aber momentan ist Alpine tatsächlich eine Distribution von
‫Linux, die sehr sehr klein ist.
‫Ich glaube, es ist weniger als 5 MB groß. Diese Version bedeutet tatsächlich, dass es von einem Basis-Image
‫von Alpine stammt, wobei es sehr klein und leicht gehalten wird, wohingegen das Standard-Image oder das neueste Image
‫tatsächlich von jessie stammt, einer Debian-Distribution. Es ist etwas größer, wahrscheinlich etwas
‫mehr als 100 MB.
‫Tatsächlich können wir hier rübergehen und schauen.
‫Also nginx 182MB genau hier.
‫Wenn ich genau diese Version des Alpine herunterladen möchte, kann ich sagen 1. 11. 9-apline und dann Docker Bild ls
‫und Sie werden sehen, dass die alpine Version ist eigentlich nur 54 MB
‫und die neueste Version ist 182 MB.
‫Sie werden auch feststellen, dass die drei Versionen, die ich heruntergeladen
‫habe, alle dieselbe Image-ID haben, da die Image-ID auf der kryptografischen SHA jedes Images in Docker Hub basiert.
‫Das sind also nicht wirklich drei verschiedene Kopien von 128 MB-Bildern.
‫Es ist eigentlich ein bisschen betrügerisch.
‫Es sind wirklich nur drei Tags mit genau der gleichen Bild-ID und es sind nur insgesamt 182 MB, und
‫dies sind nur zwei weitere Zeilen, die dieselbe Bild-ID mit verschiedenen damit verbundenen Tags zeigen.
‫Aber genug über Tags und Versionen fürs Erste.
‫Schauen wir
‫uns noch ein paar Dinge in Docker Hub an. Wenn ich in der Suchleiste wieder zu nginx zurückkehre und erneut nach nginx suche,
‫werden Sie wieder feststellen, dass es viele andere Optionen gibt, die von jedem ausgeführt werden können.
‫Sie können Ihre eigene Nginx-Version erstellen. Da es sich um Open-Source-Software handelt, die kostenlos
‫vertrieben werden kann, können Sie sie hier wiederherstellen und der Öffentlichkeit anbieten.
‫Dies ist dem GitHub-Modell sehr ähnlich, bei dem Sie Open-Source-Software speichern und
‫die Software anderer Benutzer bearbeiten und auch anbieten können.
‫Das Gleiche gilt hier.
‫Sie können die Bilder anderer Personen verwenden und herunterladen, sie zu Ihren eigenen machen und sie erneut hochladen.
‫Wenn ich also jemals in Betracht ziehen möchte, kein offizielles Repository zu verwenden, suche ich
‫normalerweise nach einer Reihe von Sternen und Umfragen, da ein beliebtes Repository für mich eher Vertrauen schafft.
‫Ich empfehle immer, dass Sie die Software herunterladen und überprüfen, bevor Sie sie verwenden. Schauen Sie in ihre Docker-Datei und
‫hoffentlich haben sie ein Open-Source-Repository, in dem Sie genau nachsehen können, wie sie das
‫Image erstellt haben.
‫Ein guter Hinweis ist, wenn Sie Dinge mit fünf Millionen Zügen und 945 Sternen sehen. Dieses Paket hat eindeutig
‫etwas Interessantes und warum so viele Leute es wählen, anstatt das offizielle
‫Bild zu verwenden.
‫Sie können hier reinkommen und sich das Repository ansehen.
‫Sie können auf der rechten Seite sehen, dass er mit seinem GitHub-Repository verknüpft ist, in dem
‫sich die eigentliche Open Source-Software befindet, die dieses Image erstellt, sodass Sie es überprüfen können. und möglicherweise
‫den eigentlichen Quellcode außerhalb eines Bildes herunterladen.
‫Aber er hat eindeutig etwas mit diesem Nginx-Image gemacht, das es besser macht
‫als die offizielle Vorgabe.
‫Noch ein paar Dinge. In der oberen Leiste sehen Sie Explore. Explore gibt Ihnen
‫nur eine Zusammenfassung aller offiziellen Bilder und Sie können sie durchlesen. Vertrauen
‫Sie mir, es gibt eine Menge. Tatsächlich finden Sie in
‫den Ressourcen für diesen Abschnitt einen Link zur aktuellen Liste der offiziellen Bilder. Unter
‫"Bibliothek" befinden sich alle offiziellen Bilder und ihre Dockerdateien.
‫Sie können sehen, dass es viel gibt. Als kurze Zusammenfassung haben wir in diesem Vortrag über Docker
‫Hub gesprochen und wie es ist, der passende Paketmanager für Container zu
‫sein. Dann, wie man offizielle Bilder erkennt und wie man sie verwendet.
‫Dann habe ich Ihnen dabei geholfen, herauszufinden, wie Sie aus einem nicht so guten Image ein gutes öffentliches Image ermitteln können.
‫Dann ein paar Tipps zu Basis-Images und wie Alpine typischerweise kleiner sind als ihre Debian-Gegenstücke.
‫Wir werden diese Fähigkeiten im Rest dieses Abschnitts verwenden.