Docker - Einstellen von NGINX

Hallo da draußen, zukünftige Docker-Meister! Heute machen wir uns auf eine aufregende Reise in die Welt von Docker und NGINX. Als dein freundlicher Nachbarschaftsinformatiklehrer bin ich begeistert, dich durch dieses Abenteuer zu führen. Mach dir keine Sorgen, wenn du neu im Programmieren bist – wir fangen bei den Grundlagen an und arbeiten uns hoch. Also, hol dir eine Tasse Kaffee (oder Tee, wenn das dein Ding ist) und tauchen wir ein!

Docker - Setting NGINX

Was ist Docker?

Bevor wir uns der Feinheit des Einrichtens von NGINX mit Docker zuwenden, lassen wir uns einen Moment Zeit, um zu verstehen, was Docker ist. Stell dir vor, du ziehst in ein neues Haus. Anstatt all deine Habseligkeiten in verschiedene Kisten zu packen und zu hoffen, dass sie in deinem neuen Ort passen, ermöglicht Docker dir, deinen gesamten Raum – Möbel, Dekorationen und alles – in einen einzigen, tragbaren Container zu packen. Das ist im Wesentlichen, was Docker für Software macht!

Docker ist eine Plattform, die es dir ermöglicht, deine Anwendung und alle ihre Abhängigkeiten in eine standardisierte Einheit namens Container zu packen. Diese Container können konsistent auf jedem System ausgeführt werden, unabhängig von der zugrunde liegenden Infrastruktur. Cool, oder?

Was ist NGINX?

Nun, lassen wir uns über NGINX (ausgesprochen "engine-x") unterhalten. NGINX ist wie ein supereffizienter Verkehrspolizist für deine Webanwendungen. Es ist ein beliebter Webserver, der auch als Reverse Proxy, Load Balancer und HTTP-Cache fungieren kann. In einfacheren Worten, es hilft, den Internetverkehr zu verwalten und zu lenken, um sicherzustellen, dass deine Webanwendungen reibungslos und effizient laufen.

Einrichten von NGINX mit Docker

Gut, jetzt, wo wir die Vorstellungen hinter uns haben, lassen wir uns die Ärmel hochkrempeln und machen unsere Hände schmutzig mit ein bisschen Code!

Schritt 1: Installation von Docker

Zuerst müssen wir Docker auf unserem System installieren. Der Installationsprozess variiert je nach Betriebssystem, aber du kannst detaillierte Anweisungen auf der offiziellen Docker-Website finden. Sobald du Docker installiert hast, öffne deinen Terminal oder die Kommandozeile und lassen wir die Installation überprüfen:

docker --version

Wenn du eine Versionsnummer siehst, Glückwunsch! Du hast Docker erfolgreich installiert.

Schritt 2: Herunterladen des NGINX Docker-Images

Nun holen wir uns das offizielle NGINX-Image von Docker Hub. Stell dir Docker Hub als eine riesige Bibliothek von vorgefertigten Container-Images vor. Wir verwenden den folgenden Befehl:

docker pull nginx

Dieser Befehl weist Docker an, das neueste NGINX-Image herunterzuladen. Das ist wie ins Bibliothek und ein Buch über NGINX ausleihen!

Schritt 3: Ausführen von NGINX in einem Docker-Container

Nun kommt der spannende Teil – das Ausführen von NGINX in einem Docker-Container. Wir verwenden den folgenden Befehl:

docker run --name my-nginx -p 80:80 -d nginx

Lassen wir das auseinanderbrechen:

  • docker run: Das weist Docker an, einen Container auszuführen
  • --name my-nginx: Wir geben unserem Container einen Namen
  • -p 80:80: Das verknüpft Port 80 des Containers mit Port 80 auf unserem Host-Rechner
  • -d: Das führt den Container im Detach-Modus (im Hintergrund) aus
  • nginx: Das gibt an, welches Image wir verwenden möchten

Nachdem du diesen Befehl ausgeführt hast, solltest du in der Lage sein, deinen Webbrowser zu öffnen und zu http://localhost zu navigieren, um diestandardmäßige NGINX-Begrüßungsseite zu sehen. Wie cool ist das? Du hast gerade einen Webserver mit einem einzigen Befehl eingerichtet!

Schritt 4: Anpassen der NGINX-Konfiguration

Nun, was ist, wenn du deine NGINX-Konfiguration anpassen möchtest? Das können wir tun, indem wir unseren eigenen Dockerfile erstellen. Erstelle eine neue Datei namens Dockerfile (ohne Erweiterung) und füge den folgenden Inhalt hinzu:

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf

Dieser Dockerfile macht zwei Dinge:

  1. Es startet mit dem offiziellen NGINX-Image
  2. Es kopiert unsere benutzerdefinierte nginx.conf Datei in den Container

Jetzt erstelle eine Datei namens nginx.conf im selben Verzeichnis mit deiner gewünschten NGINX-Konfiguration. Hier ist ein einfaches Beispiel:

events {
worker_connections 1024;
}

http {
server {
listen 80;
server_name localhost;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}

Schritt 5: Erstellen und Ausführen unseres benutzerdefinierten NGINX-Containers

Jetzt, wo wir unseren Dockerfile und unsere benutzerdefinierte Konfiguration haben, lassen uns unser Image erstellen:

docker build -t my-custom-nginx .

Und schließlich, lassen uns unseren benutzerdefinierten NGINX-Container ausführen:

docker run --name my-custom-nginx -p 80:80 -d my-custom-nginx

Voilà! Du hast jetzt einen benutzerdefinierten NGINX-Server in einem Docker-Container laufen.

Nützliche Docker-Befehle

Hier ist eine praktische Tabelle von Docker-Befehlen, die du nützlich finden könntest:

Befehl Beschreibung
docker ps Laufende Container auflisten
docker ps -a Alle Container (einschließlich gestoppter) auflisten
docker stop <container_id> Einen laufenden Container stoppen
docker start <container_id> Einen gestoppten Container starten
docker rm <container_id> Einen Container entfernen
docker images Alle Images auflisten
docker rmi <image_id> Ein Image entfernen
docker logs <container_id> Container-Logs anzeigen

Schlussfolgerung

Und da hast du es, Leute! Wir sind von den Grundlagen von Docker und NGINX bis hin zum Einrichten und Anpassen unseres eigenen NGINX-Servers in einem Docker-Container gereist. Denke daran, Übung macht den Meister, also habe keine Angst, verschiedene Konfigurationen auszuprobieren.

In meinen Jahren des Unterrichtens habe ich festgestellt, dass der beste Weg zum Lernen durch Tun ist. Also ermutige ich dich, mit dem zu spielen, was wir heute gelernt haben. Versuche, die NGINX-Konfiguration zu ändern, oder richte mehrere Container mit verschiedenen Diensten ein. Die Möglichkeiten sind endlos!

Als wir uns abschließen, erinnere ich mich an einen Schüler, der mir einmal sagte: "Docker schien initially wie Magie, aber jetzt sehe ich, dass es nur wirklich kluge Ingenieurkunst ist." Ich hoffe, diese Anleitung hat Docker und NGINX für dich auch entmystifiziert.

Bis zum nächsten Mal, viel Spaß beim Dockerisieren!

Credits: Image by storyset