[vc_row][vc_column][vc_column_text]Ich bin mir ziemlich sicher, dass jeder, der etwas mit der Entwicklung von Code zu tun hat, schon von Docker gehört hat. Seine Beliebtheit ist kein Zufall. Es ist ein praktisches Toolkit, das die Art und Weise, wie Anwendungen entwickelt werden, revolutioniert hat. Dank Docker ist das Testen, Bereitstellen und Skalieren von Anwendungen viel einfacher geworden.Stellen wir uns eine Situation vor, in der wir eine Anwendung mit vielen Voraussetzungen wie zusätzlichen Tools und Paketen entwickelt haben. Wenn wir möchten, dass jemand unser Projekt ausführt, müssen wir den Code und eine Beschreibung bereitstellen, wie das System vorbereitet werden muss, um mit dem Code kompatibel zu sein. Die Person, die es ausführen möchte, muss all diese Abhängigkeiten installieren. Es versteht sich von selbst, dass es in solchen Situationen oft zu verschiedenen Arten von Fehlern und Inkompatibilitäten kommt. Docker löst dieses Problem, indem es ermöglicht, die Anwendung mit allen notwendigen Abhängigkeiten bereitzustellen, sodass jeder Ihre App problemlos ausführen kann.In diesem Artikel möchte ich die Grundlagen von Docker vorstellen und Ihnen zeigen, wie Sie es auf sehr einfache Weise nutzen können. Ich hoffe, dass alle hier gesammelten Informationen und Tipps Sie davon überzeugen werden, Docker in Ihrer Anwendung einzusetzen.
Was ist Docker?
Docker ermöglicht es Ihnen, einen portablen, leichtgewichtigen Container zu erstellen, der das Programm und alle seine Abhängigkeiten wie Bibliotheken, Konfigurationsdateien, Umgebungen, Datenbanken, Pakete usw. enthält. Der Container kann anderen Personen zur Verfügung gestellt werden, die ihn auf jedem Betriebssystem wie Linux, Windows oder macOS ausführen können. Docker wird oft mit virtuellen Maschinen verglichen, aber es gibt einen sehr wichtigen Unterschied zwischen ihnen. Virtuelle Maschinen haben ihr eigenes Betriebssystem, was erklärt, warum virtuelle Maschinen, insbesondere wenn wir viele davon auf einem Computer ausführen, eine hohe Belastung darstellen können. Außerdem müssen beim Einrichten einer neuen virtuellen Maschine alle erforderlichen Bibliotheken und Tools installiert werden. Docker löst dieses Problem, indem es das Betriebssystem des Computers nutzt und einige Ressourcen isoliert, um eine abgeschottete Umgebung zu schaffen.
Hauptvorteile von Docker:
- Sie können problemlos verschiedene Versionen der Software testen
- Sie können Ihre Anwendung mit allen Systemanforderungen verteilen
- Sie können überprüfen, ob Ihre Anwendung auf allen Betriebssystemen funktioniert
- Docker erstellt eine leichtgewichtige und isolierte Laufzeitumgebung
Erfahren Sie mehr über andere Einsatzmöglichkeiten von Docker.
Docker-Images
Ein Docker-Image ist eine schreibgeschützte Datei, die eine Reihe von Anweisungen zum Erstellen eines Docker-Containers enthält. Sie können sich Docker-Images wie eine CD vorstellen, die Informationen darüber enthält, wie ein Spiel installiert wird, aber nicht das Spiel selbst. Es ist nur eine Vorlage, eine Reihe von Anweisungen, wie dies zu tun ist. Wenn Sie möchten, können Sie Ihr eigenes Image erstellen oder vorhandene verwenden, die auf der Website https://hub.docker.com/ veröffentlicht sind. Um Ihr eigenes Image zu erstellen, müssen Sie eine Datei namens Dockerfile schreiben. Was an Docker-Images erstaunlich ist, ist, dass sie aus Schichten bestehen. Das bedeutet, dass Sie andere Images verwenden, alle benötigten Voraussetzungen hinzufügen und voilà! Ein neues Docker-Image ist erstellt. Möchten Sie Ihr Image ändern? Fügen Sie einfach alle Änderungen in das Dockerfile ein, und das war's – ein Kinderspiel!
Docker-Container
Docker-Container werden basierend auf den Docker-Images erstellt. Dank der Container können wir eine isolierte und autarke Umgebung schaffen, in der wir beispielsweise eine Anwendung ausführen, eine Datenbank erstellen oder eine Website hosten können. Alle Docker-Container arbeiten unabhängig voneinander – deshalb ist es möglich, mehrere Container in einem Betriebssystem zu speichern. Die Kommunikation zwischen Containern ist ebenfalls möglich. Das Einzige, was Sie tun müssen, ist, die entsprechende Netzwerkverbindung zwischen den Containern herzustellen.Um den Unterschied zwischen Images und Containern besser zu verstehen, betrachten wir das folgende Beispiel.Zunächst möchten wir ein neues Image erstellen. In diesem Beispiel basiert es auf dem Image ubuntu:20.04, und wir führen einen Befehl aus, der Informationen über die Umgebung anzeigt.

Lassen Sie uns unser Image erstellen:

Um alle erstellten Images aufzulisten, führen Sie den Befehl docker images aus:

Sie können sehen, dass unser Image mit dem Namen my_ubuntu_20_image vor 3 Minuten erstellt wurde und 72,8 MB wiegt. Als Nächstes lassen Sie uns unser Docker-Image ausführen, um einen Docker-Container zu erstellen und das Ergebnis des Befehls cat /etc/lsb-release zu sehen. Führen Sie dazu den Befehl docker run my_ubuntu_20_image aus.

Um alle erstellten Container aufzulisten, führen Sie den Befehl docker ps -a aus.

Ein einfaches Python-Projekt mit externen Bibliotheken
In diesem Kapitel möchte ich Ihnen zeigen, wie Sie eine einfache Python-Anwendung containerisieren können. Ich glaube, dieses praktische Beispiel wird Ihnen zeigen, dass die Verwendung von Docker einfach ist. Beginnen wir mit einem Beispiel für Python-Code. Ich habe ein grundlegendes Skript main.py vorbereitet, das die Webseite https://aqicn.org aufruft und mithilfe der zusätzlichen Bibliothek BeautifulSoup Informationen über die Luftqualität in Warschau liest.

Wie bereits erwähnt, verwendet dieses Skript zusätzliche Bibliotheken. Lassen Sie uns alle Anforderungen in der Datei requirements.txt sammeln.

Stellen Sie sich vor, Sie möchten diese Anwendung an Ihren Chef senden. Was muss er tun, um sie auszuführen?
- die richtige Python-Version ermitteln und installieren
- alle Anforderungen aus der requirements.txt installieren
- Sie fragen, wie Ihr Skript ausgeführt werden soll (vielleicht muss er zusätzliche Argumente übergeben)
Verwirrt? Lassen Sie mich Ihnen zeigen, wie Sie das Leben mit Docker einfacher machen können.
Python-Anwendung containerisieren
Das Einzige, was Sie tun müssen, ist Docker herunterzuladen (Anleitung hier verfügbar: https://docs.docker.com/desktop/#download-and-install) und ein Dockerfile zu schreiben.

Das Dockerfile verwendet das Image python:3.8, fügt die Dateien main.py und requirements.txt zum Docker-Verzeichnis hinzu, installiert alle Anforderungen und führt das Skript aus. Kehren wir zur Geschichte zurück. Was muss getan werden, um Ihr containerisiertes Skript auszuführen?
- Docker installieren, falls erforderlich
- das Docker-Image erstellen und ausführen

Ja, das war's!Wenn Sie Ihren Python-Code verbessern möchten, klicken Sie hier.
Fazit
Das Docker-Toolkit ist heutzutage sehr beliebt, und jeder Softwareentwickler sollte wissen, wie man es verwendet. Wie im Artikel bewiesen wurde, ist die Verwendung von Docker nicht schwierig. Die mit Docker entwickelten Anwendungen sind portabler, einfacher zu testen und skalierbarer. Ich hoffe, dieser Artikel hat Sie dazu inspiriert, Ihre Apps zu dockerisieren.

[/vc_column_text][/vc_column][/vc_row]



