Docker Schnellstart – Projekt nginx-Server mit Dockerfile erstellen
Willkommen im Abschlussprojekt von Modul 2. In dieser Lektion werden wir das bisher gelernte Wissen an einem Praxisprojekt üben. Ziel der Übung ist es, einen laufenden Nginx-Server als Container zu starten, der uns eine kleine HTML-Webseite anzeigt. Alle Abhängigkeiten zum Starten dieser Mini-Webapp sollen in einem Dockerfile gesteuert werden.
Legen wir los!
Schritt 1 - Nginx Image herunterladen
Wir wollen einen Container erstellen, auf dem der Nginx Server läuft. Wir können das nginx:alpine Image verwenden, da es klein ist. Um das Image herunterzuladen, benutzen wir den Befehl docker pull nginx:alpine.

Schritt 2 - Dockerfile erstellen
Anschließend erstellen wir ein Dockerfile, das dieses Image verwendet. Das Dockerfile kopiert einfach eine html-Datei von unserem Computer in unseren Docker-Container.
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
Schritt 3 - Index.html erstellen
Speichere folgenden HTML-Code in einer Datei namens index.html in deinem Projektordner ab.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Hallo Welt</title>
<style>
h1 {
font-family: Arial, Helvetica, sans-serif;
}
</style>
</head>
<body>
<h1>Ich bin ein Container!</h1>
</body>
</html>
Schritt 4 - Docker-Image erstellen
Nun können wir unser Dockerfile bauen, indem wir docker build -t nginx-projekt . ausführen.
Docker wird dann ein Image basierend auf unserem Dockerfile generieren.
Ausgabe: Das ging fix!

Schritt 5 - Docker Image an Port binden & als Container starten
Jetzt können wir unser Image mit docker run --rm -it -p 8080:80 nginx-projekt starten. Das --rm weist Docker an, den Container zu entfernen, sobald er gestoppt ist, und das -it wird verwendet, um interaktives TTY anzuhängen, das -p 8080:80 wird verwendet, um den Port 80 vom Container auf unseren Computerport 8080 zu mappen, wenn wir also auf localhost:8080 zugreifen, bedeutet das, dass wir auf den container.ip:80 zugreifen. Der Name nginx-projekt ist der Name, den wir definiert haben, als wir unser Dockerfile oben erstellt haben.
Öffne nun localhost:8080 und du solltest unsere index.html Datei sehen. Glückwunsch, du hast gerade einen Nginx Server auf einem Docker Container laufen lassen.

Unser Container verwaltet alle Abhängigkeiten, die benötigt werden, um einen Nginx Server zu betreiben. Das bedeutet, dass die Umgebung immer die gleiche sein wird, egal wo wir unser Docker-Image laufen lassen, es macht unsere Umgebung konsistent, solange sie das gleiche Image verwenden, gibt es keine Gründe für unser Teammitglied zu sagen, dass es auf ihrer Maschine nicht funktioniert (es sei denn, ihre Maschine hat Docker falsch installiert, oder andere Docker-bezogene Probleme, aber das ist wirklich etwas, bei dem dir das Docker-Team helfen wird).
So einfach ist Docker 🙂
Im nächsten Modul geht es um ein paar fortgeschrittene Themen. Wenn du es bis hierhin geschafft hast, kennst du bereits die wichtigsten Informationen, um mit Docker durchzustarten.