5 unterhaltsame Docker-Projekte für absolute Anfänger5 unterhaltsame Docker-Projekte für absolute Anfänger
Bild vom Autor

# Einführung

Bevor wir uns mit den Projekten befassen, wollen wir klären, was Docker ist und warum sich die Leute dafür interessieren. Docker packt eine Anwendung und alles, was sie benötigt, in einen Container. Ein Container ist eine leichte, isolierte Umgebung, die überall auf die gleiche Weise läuft. Keine „funktioniert auf meinem Pc“-Probleme. Wenn es auf Ihrem Laptop computer läuft, läuft es auch auf einem Server oder in der Cloud. Entwickler lieben das, weil das Teilen von Code einfach und vorhersehbar wird. In dieser „5 Enjoyable Initiatives“-Reihe liegt unser Fokus auf Studying by Doing. Jedes Projekt vermittelt eine grundlegende Docker-Fähigkeit. Am Ende werden Sie Docker nicht nur theoretisch kennen, sondern auch verstehen, wie man es nutzt.

# 1. Statisches Web site-Internet hosting mit Nginx und Docker

Dieses Video von Techdox zeigt Ihnen, wie Sie eine Web site hosten Nginx im Docker. Sie Containerisieren einen Webserver, fügen Ihre Website-Dateien hinzu und führen alles in einem einzigen Container aus. Das Tutorial führt Sie Schritt für Schritt durch die Erstellung eines einfachen Dockerfile (oder Docker Compose), richten Sie Nginx für die Bereitstellung Ihrer Seiten ein und starten Sie den Container, damit die Website reside ist. Es ist nicht erforderlich, Nginx auf Ihrem Pc zu installieren, da alles in Docker ausgeführt wird. Dadurch bleibt der Aufbau sauber und reproduzierbar.

# 2. Multi-Container-Docker-Anwendungen mit Docker Compose

Das Video zeigt, wie Sie Docker Compose verwenden, um zwei Dienste gemeinsam auszuführen: ein Python Flask-Backend und eine Redis-Datenbank. Alle Dienstkonfigurationen, einschließlich Builds, Ports und Verbindungen, werden in einem definiert docker-compose.yml Datei. Sie starten alles mit einem einzigen Befehl, docker compose up. Die Container kommunizieren automatisch und die Umgebungseinstellungen bleiben zentralisiert. Dies erleichtert das Ausführen und Verwalten der App auf jedem Pc und bietet gleichzeitig ein praktisches Beispiel für die Handhabung mehrerer Dienste in Docker.

# 3. Eine Datenbank, die von mehreren Containern gemeinsam genutzt wird

Dabei Ein Datenbankdienst für mehrere Docker-Containerdienste Im Video zeigt der Autor, wie man einen einzelnen Datenbankcontainer ausführt und mehrere Anwendungscontainer damit verbinden lässt. Sie richten MySQL oder eine andere Datenbank einmal in Docker ein und jeder Dienst läuft in seinem eigenen Container, verbindet sich aber über ein gemeinsames Docker-Netzwerk oder eine entsprechende Portzuordnung mit derselben Datenbank. Sie erfahren, wie Sie Netzwerke konfigurieren, den Datenbank-Port freigeben und Container für eine sichere Kommunikation verknüpfen. Dieser Ansatz trägt dazu bei, Ressourcen durch die Zentralisierung von Datenbanken zu sparen und zeigt außerdem, wann eine gemeinsam genutzte Datenbank im Vergleich zu separaten Instanzen am besten funktioniert.

# 4. Automatisierte kontinuierliche Integration mit Jenkins in Docker

Diese Movies zeigen, wie Sie mit eine vollständige Steady-Integration-Pipeline (CI) erstellen Jenkins in Docker, um bei Codeänderungen automatisch Docker-Pictures zu erstellen. Das erste Video, Erstellen und pushen Sie ein React-Docker-Picture mit einer Jenkins-Pipelineführt Sie durch die Einrichtung des Jenkins-Containers, die Erstellung einer Pipeline zum Abrufen von Quellcode, die Erstellung eines Docker-Pictures und non-obligatory die Ausführung von Assessments oder die Übertragung des Pictures an eine Registrierung. Das zweite Video, Automatisiertes CI mit Jenkins auf Docker zum Erstellen von Docker-Pictureskonzentriert sich auf eine React-App und zeigt, wie man Jenkins mit dem Quell-Repository verbindet, Docker-Pictures erstellt und markiert und sie automatisch pusht. Beide Tutorials zeigen, wie die Containerisierung von Jenkins Ihre Construct-Umgebung isoliert, reproduzierbar und konsistent hält. Nach der Einrichtung löst jedes Code-Replace einen neuen Construct aus, wodurch Bereitstellungen zuverlässig und automatisiert werden.

# 5. Protokollierung und Überwachung von Docker

Diese Movies zeigen, wie man mit Docker einen vollständigen Observability-Stack erstellt. Prometheus sammelt System- und Containermetriken. Loki speichert Protokolle. Grafana zeigt alles in Echtzeit-Dashboards an. Im ersten Video Loki, Prometheus, Grafana und Docker: Protokollierung und ÜberwachungErfahren Sie, wie Sie Docker für jeden Dienst einrichten, diese richtig verbinden und Metriken mit Protokollen verknüpfen, um zu sehen, wie Ihre Container funktionieren. Das zweite Video, Serverüberwachung: Prometheus- und Grafana-Tutorialkonzentriert sich auf die Überwachung von Servern oder Containerumgebungen mithilfe von Prometheus und Grafana in einem tragbaren, reproduzierbaren Setup. Es zeigt, wie man Prometheus als Grafana-Datenquelle konfiguriert, Metrikendpunkte einrichtet und Dashboards erstellt, um die CPU-, Speicher- und Containerleistung zu verfolgen. Beide Ansätze basieren auf der Containerisierung, wodurch der Stack auf jeder Maschine einfach ausgeführt, repliziert und erweitert werden kann.

# Zusammenfassung

Diese fünf Projekte bauen Ihre Docker-Kenntnisse Schicht für Schicht auf. Sie hosten eine Web site, verbinden mehrere Dienste, teilen Datenbanken, automatisieren Builds und überwachen alles. Jedes Projekt vermittelt praktische Fähigkeiten, die Sie in der realen Arbeit einsetzen können. Jetzt sind Sie an der Reihe, diese Projekte auszuprobieren und Docker selbst zu erkunden.

Kanwal Mehreen ist ein Ingenieur für maschinelles Lernen und ein technischer Redakteur mit einer großen Leidenschaft für Datenwissenschaft und die Schnittstelle zwischen KI und Medizin. Sie ist Mitautorin des E-Books „Maximizing Productiveness with ChatGPT“. Als Google Era Scholar 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie ist außerdem als Teradata Range in Tech Scholar, Mitacs Globalink Analysis Scholar und Harvard WeCode Scholar anerkannt. Kanwal ist ein leidenschaftlicher Verfechter von Veränderungen und hat FEMCodes gegründet, um Frauen in MINT-Bereichen zu stärken.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert