Erfahren Sie Docker Teil 1: Grundlagen

Ursprünglicher Autor: Jeff Hale
  • Übersetzung
  • Tutorial
In der Softwareentwicklung und Datenanalyse werden häufig Anwendungstechnologien eingesetzt. Diese Technologien tragen dazu bei, Anwendungen sicherer zu machen, sie einfacher bereitzustellen und ihre Skalierbarkeit zu verbessern. Das Wachstum und die Entwicklung von Containerisierungstechnologien können als einer der wichtigsten Trends unserer Zeit betrachtet werden.

Docker ist eine Plattform, die entwickelt wurde, um Anwendungen in Containern zu entwickeln, bereitzustellen und auszuführen. Das Wort "Docker" ist in letzter Zeit zu einem Synonym für "Containerisierung" geworden. Und wenn Sie Docker noch nicht verwenden, gleichzeitig aber in den Bereichen Anwendungsentwicklung oder Datenanalyse arbeiten oder arbeiten werden, dann werden Sie Docker sicherlich in Zukunft treffen.

Teil 1: Grundlagen
Teil 2: Begriffe und Konzepte
Teil 3: Dockerfile-Dateien
Teil 4: Bildgrößen reduzieren und die Montage beschleunigen
Teil 5: Befehle
Teil 6: Arbeiten mit Daten Wenn Sie nicht wissen, was ein Docker ist, haben Sie jetzt die Möglichkeit, den ersten Schritt zu tun Verständnis dieser Plattform. Wenn Sie dieses Material beherrschen, werden Sie die Grundlagen von Docker verstehen und gleichzeitig eine Pizza zubereiten.

Bild



Metaphern und Docker


Wir sind ständig mit Metaphern konfrontiert. Wenn Sie in das Wörterbuch von Ozhegov schauen, stellt sich heraus, dass die Metapher "ein versteckter bildlicher Vergleich ist, der eine Sache mit einer anderen vergleicht." Metaphern helfen uns, die Essenz neuer Phänomene für uns zu erfassen. Zum Beispiel können virtuelle Container mit gewöhnlichen Kunststoffbehältern verglichen werden. Ein solcher Vergleich führt dazu, dass Sie die Eigenschaften gewöhnlicher Container, die wir bereits kennen, mit den Eigenschaften von virtuellen Containern vergleichen. So können Sie sie zuerst kennenlernen und dann deren Essenz verstehen.


Container

Wenn Sie wissen, werden wir mit dem Konzept des „Containers“ über Docker sprechen.

Behälter


Wie ein normaler Kunststoffbehälter hat der Docker-Behälter die folgenden Eigenschaften:

  1. Sie können etwas darin speichern. Etwas kann sich entweder im Behälter oder außerhalb befinden.
  2. Es kann übertragen werden. Der Docker-Container kann auf einem lokalen Computer, auf dem Computer eines Kollegen, auf einem Server eines Cloud-Service-Providers (wie AWS) verwendet werden. Dies macht Docker-Container ähnlich zu gewöhnlichen Containern, in denen sie zum Beispiel verschiedene schatzartige Schmuckstücke tragen, wenn sie in ein neues Zuhause ziehen.
  3. Es ist bequem, etwas in den Behälter zu legen, und es ist bequem, etwas daraus herauszunehmen. Ein gewöhnlicher Behälter hat einen Deckel an den Riegeln, der entfernt werden muss, um etwas in den Behälter zu stecken oder etwas herauszunehmen. Docker-Container haben etwas Ähnliches, das ihre Schnittstelle repräsentiert, das heißt Mechanismen, mit denen sie mit der Außenwelt interagieren können. Beispielsweise verfügt ein Container über Ports, die geöffnet werden können, sodass auf eine Anwendung, die in einem Container ausgeführt wird, von einem Browser aus zugegriffen werden kann. Sie können mit dem Container mithilfe von Befehlszeilentools arbeiten.
  4. Wenn Sie einen Container benötigen, können Sie ihn im Online-Shop bestellen. Ein leerer Behälter kann beispielsweise auf der Amazon-Website gekauft werden. Container kommen in diesen Laden von Herstellern, die sie in großen Mengen unter Verwendung von Formen herstellen. Bei Docker-Containern wird das, was mit einer Form verglichen werden kann, nämlich das Abbild des Containers, in einem speziellen Lager gespeichert. Wenn Sie einen Container benötigen, können Sie das entsprechende Image aus dem Repository herunterladen und mit diesem Container diesen Container erstellen.

Im Gegensatz zu Docker-Behältern werden Kunststoffbehälter nicht kostenlos an Sie gesendet, und wenn Sie sie erhalten, sind sie leer. In Docker-Containern gibt es jedoch immer etwas Interessantes.

Lebende Organismen


Ein weiterer Ansatz, um über Docker-Behälter nachzudenken, ist der Vergleich mit Exemplaren lebender Organismen. Eine „Instanz“ ist etwas, das in irgendeiner Form existiert. Dies ist nicht nur ein Code. Dies ist der Code, der die Existenz von etwas, das größer ist als er selbst, sozusagen lebendig ist. Wie andere lebende Organismen werden Behälter geboren, leben und sterben.


Monster, zum Leben erweckt

Docker-Container sind Docker-Bilder, die zum Leben erweckt werden.

Software


Docker-Container können nicht nur mit herkömmlichen Containern oder mit lebenden Organismen verglichen werden. Sie können mit den Programmen verglichen werden. Container sind schließlich Programme. Grundsätzlich ist ein Container ein Satz von Anweisungen, der auf einem Prozessor ausgeführt wird, der einige Daten verarbeitet.


Ein Container ist ein Programm

Bei der Ausführung eines Docker-Containers wird normalerweise ein Programm ausgeführt. Es führt einige Aktionen in dem Container aus, das heißt, es ist nützlich.

Beispielsweise hat der Code, der im Docker-Container funktioniert, möglicherweise den von Ihnen gelesenen Text an Ihren Computer gesendet. Es ist auch möglich, dass der im Docker-Container ausgeführte Code die Sprachbefehle akzeptiert, die Sie an Amazon Alexa übergeben, und diese in Anweisungen für andere Programme konvertiert, die in anderen Containern ausgeführt werden.

Durch die Verwendung von Docker können Sie mehrere Container gleichzeitig auf demselben Computer ausführen. Wie jedes andere Programm können Docker-Container gestartet, gestoppt und gelöscht werden. Sie können deren Inhalte erkunden und erstellen.

Docker-Konzepte


▍Virtuelle Maschinen


Die Vorläufer der Docker-Container waren virtuelle Maschinen. Eine virtuelle Maschine isoliert wie ein Container eine Anwendung und ihre Abhängigkeiten von der externen Umgebung. Docker-Container haben jedoch Vorteile gegenüber virtuellen Maschinen. So verbrauchen sie weniger Ressourcen, sind sehr einfach zu transportieren, sie beginnen schneller und werden funktionsfähig. In diesem Artikel finden Sie einen detaillierten Vergleich von Containern und virtuellen Maschinen.

▍ Docker Container Image


Oben haben wir bereits über "Bilder" gesprochen. Was ist das? Gute Frage. Die Tatsache, dass in der Docker-Terminologie "Bild" oder auf Englisch "Bild" genannt wird, ist überhaupt nicht die gleiche wie beispielsweise ein Foto (dies ist eine der Bedeutungen des Wortes "Bild").


Docker-Bilder sind keine Fotos

Docker-Behälterbilder können mit Zeichnungen, mit Ausstechern oder mit Formen zur Herstellung von Kunststoffprodukten verglichen werden. Bilder sind unveränderliche Muster, die zum Erstellen identischer Container verwendet werden.


Docker-Container-Images sehen wie Cookie-

Cutters aus: Das Docker-Container-Image enthält das Image des Basisbetriebssystems, den Anwendungscode und die Bibliothek, von der es abhängig ist. All dies wird als eine Einheit gepackt, auf deren Grundlage Sie einen Container erstellen können.

DoDockerfile-Datei


Die Dockerfile- Datei enthält Anweisungen, nach denen Docker ein Image des Containers erstellt. Diese Datei enthält die Beschreibung des Basisbilds, bei dem es sich um die ursprüngliche Bildebene handelt. Zu den beliebten offiziellen Basisbildern gehören Python , Ubuntu und Alpine .

Dem Containerbild können zusätzliche Ebenen über dem Basisbild hinzugefügt werden. Dies erfolgt gemäß den Anweisungen von Dockerfile. Wenn es Dockerfilebeispielsweise ein Bild beschreibt, das Sie zum Lösen von Problemen beim maschinellen Lernen verwenden möchten, enthält es möglicherweise Anweisungen zum Einbinden der Bibliotheken NumPy, Pandas und Scikit-learn in die Zwischenschicht.

Und schließlich kann das Bild über allen anderen eine weitere dünne Schicht enthalten, in der die gespeicherten Daten geändert werden können. Dies ist eine Ebene mit kleinem Volumen, die ein Programm enthält, das Sie in einem Container ausführen möchten.

▍Container Docker


Um den Container zu starten, benötigen wir erstens das Image des Containers und zweitens die Umgebung, in der Docker installiert ist, um den Befehl des Formulars zu verstehen docker run image_name. Dieser Befehl erstellt einen Container aus dem Image und führt ihn aus.

Контейнер Container-Repository


Wenn Sie anderen Personen das Erstellen von Containern basierend auf Ihrem Image ermöglichen möchten, können Sie dieses Image an den Cloud-Speicher senden. Das größte Repository dieser Art ist das Docker Hub- Repository . Wird standardmäßig verwendet, wenn Sie mit Docker arbeiten.

Wir haben schon viel diskutiert. Es ist an der Zeit, alles zusammen zu stellen und die Arbeit mit Docker-Behältern mit dem Pizzakochen zu vergleichen.

Kochen mit Docker



Fertige Pizza ist ein Behälter

  • Das Pizza-Kochrezept ist eine Datei Dockerfile. Er sagt uns, was zu tun ist, um das Ziel zu erreichen, dh einen funktionierenden Container zu erhalten.
  • Die Zutaten, aus denen die Pizza besteht, sind die Schichten des Behälterbildes. Für unsere Pizza brauchen wir einen Kuchen, Sauce und Käse.

Wenn Sie ein Rezept und Zutaten auf den Tisch legen, stellt sich heraus, dass an einem Ort alles gesammelt wird, was Sie zur Herstellung von Pizza benötigen. All dies kann mit dem Image des Docker-Containers verglichen werden.
Aus dem Rezept ( Dockerfile) können Sie herausfinden, welche Reihenfolge von Aktionen Sie ausführen müssen, um eine Pizza zuzubereiten:

  • Der Kuchen ist bereits gebrauchsfertig, wir ändern ihn nicht. Es kann mit dem Basis-Image von Ubuntu OS verglichen werden. Dies ist die unterste Ebene des Bildes. Sie wird zuerst zum Bild hinzugefügt.
  • Fügen Sie dann Käse zum Kuchen hinzu. Dies ist dasselbe wie das Hinzufügen einer zweiten Ebene in Form einer externen Bibliothek wie NumPy.
  • Dann die Sauce über den Käse geben. Dies ist der Anwendungscode, der im Container ausgeführt werden soll.

Jetzt ist es Zeit, die Pizza im Ofen zu kochen.


Der Ofen ist eine Docker-Plattform, der Ofen,

in dem Pizza gegart wird, ähnelt der Docker-Plattform. Der Ofen ist in der Küche installiert und kann zum Kochen von Speisen verwendet werden. Auf dieselbe Weise wird Docker auf einem Computer installiert, um Container "vorzubereiten".

Wenn der Ofen elektrisch ist, wird er durch Drehen des Temperaturreglers eingeschaltet. Ein Befehldocker run image_nameist so etwas wie ein Temperaturregler, dessen „Drehung“ dazu führt, dass das System einen Container erstellt und startet.

Fertige Pizza ist der Docker-Container.

Und Pizza zu essen bedeutet, eine Anwendung zu verwenden, die in einem Container läuft.

Wie bei der Zubereitung von Pizza dauert die Vorbereitung für den Betrieb der Docker-Behälter einige Zeit, aber im Endeffekt und in beiden Fällen stellt sich etwas Leckeres heraus.

Ergebnisse


Hier haben wir konzeptionell die Grundlagen von Docker. Hoffentlich haben die hier gegebenen Vergleiche Ihnen geholfen zu verstehen, was ein Docker ist, und den Wert von Metaphern für das Beherrschen neuer Technologien zu spüren.

Liebe Leserinnen und Leser! Dieser Beitrag ist eine Übersetzung des ersten Artikels der Docker-Lernprogrammreihe. Nach Angaben des Autors ist die Veröffentlichung von 5 solchen Materialien geplant. Der zweite , dritte und vierte Teil sind fertig . Sagen Sie uns, lohnt es sich, die folgenden Artikel dieser Serie zu übersetzen?

Nur registrierte Benutzer können an der Umfrage teilnehmen. Bitte melden Sie sich an.

Muss ich einen Schulungszyklus für Docker übersetzen?


Jetzt auch beliebt: