webserver

This commit is contained in:
Jesko Anschütz 2025-10-25 18:06:05 +02:00
parent 308e7d934d
commit 0eda657a5f
2 changed files with 87 additions and 1 deletions

View file

@ -181,7 +181,7 @@ root@fobiX:~#
Damit siehst du auch die ganzen Container, die zwar erstellt wurden, aber nicht mehr laufen. Damit siehst du auch die ganzen Container, die zwar erstellt wurden, aber nicht mehr laufen.
Diesen Datenmüll wollen wir gerne entfernen: Diesen Datenmüll wollen wir gerne entfernen:
- einzeln: `docker rm 7bb0` entfernt den Container, dessen CONTAINER ID mit 7bb0 anfängt. - einzeln: `docker rm 7bb0` entfernt den Container, dessen CONTAINER ID mit 7bb0 anfängt.
- mehrere: `docker container prune` entfernt alle, die Container, nicht mehr laufen - mehrere: `docker container prune` entfernt alle Container, die nicht mehr laufen.
```bash ```bash
root@fobiX:~# docker container prune root@fobiX:~# docker container prune
@ -224,5 +224,20 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@fobiX:~# root@fobiX:~#
``` ```
## Der erste "*echte*" Container
wir wollen jetzt einen richtigen Webserver mit Docker aufsetzen :)
1. Container mit Webserver "nginx" starten: `docker run --name webdemo -d -p 8080:80 nginx`
Die Parameter hier bedeuten folgendes:
- `--name webdemo` optional - Gibt dem Container den angegebenen Namen. Wenn man den Namen nicht selbst festlegt, bekommt er einen zufälligen (z.B. "adoring_snyder")
- `-d` Lässt den Container im Hintergrund laufen ("d" steht für "detached")
- `-p 8080:80` verbindet den Port 8080 des Hosts mit dem Port 80 im Container
2. mit einem Browser nach http://fobiX.benbex.de:8080 surfen und schauen, was da zu sehen ist.
docker cp webroot/index.html webdemo:/usr/share/nginx/html/
docker stop webdemo
docker start webdemo
docker rm -f webdemo

View file

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Docker Demo</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap');
:root {
--bg: #0f172a;
--card: #1e293b;
--accent: #38bdf8;
--text: #e2e8f0;
}
body {
font-family: 'Inter', sans-serif;
background-color: var(--bg);
color: var(--text);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
text-align: center;
}
h1 {
color: var(--accent);
font-size: 2.5rem;
margin-bottom: 0.5rem;
}
p {
max-width: 600px;
line-height: 1.6;
opacity: 0.9;
}
.card {
background-color: var(--card);
padding: 2rem;
border-radius: 1rem;
box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}
footer {
position: absolute;
bottom: 1rem;
font-size: 0.8rem;
opacity: 0.5;
}
@media (max-width: 600px) {
h1 { font-size: 2rem; }
.card { margin: 1rem; padding: 1.5rem; }
}
</style>
</head>
<body>
<div class="card">
<h1>🚀 Docker läuft!</h1>
<p>Diese Seite wird aus einem <strong>nginx</strong>-Container ausgeliefert.
Starte, stoppe und lösche den Container, um zu üben, wie Docker funktioniert.</p>
<p>Befehle zum Üben:</p>
<pre style="background:#0f172a;padding:1rem;border-radius:0.5rem;overflow-x:auto;">
docker run --name webdemo -d -p 8080:80 nginx
docker cp webroot/index.html webdemo:/usr/share/nginx/html/
docker stop webdemo
docker start webdemo
docker rm -f webdemo
</pre>
</div>
<footer>Demo für ZSL-Docker-Lernende</footer>
</body>
</html>