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.
Diesen Datenmüll wollen wir gerne entfernen:
- 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
root@fobiX:~# docker container prune
@ -224,5 +224,20 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
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>