aktualisierung
This commit is contained in:
parent
59e6b3a6f0
commit
e9fbca0c44
2 changed files with 20 additions and 39 deletions
29
README.md
29
README.md
|
|
@ -224,32 +224,3 @@ 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.
|
||||
3. eine HTML-Datei in den Container kopieren: `docker cp webroot/test.html webdemo:/usr/share/nginx/html/index.html`
|
||||
4. mit einem Browser nach http://fobiX.benbex.de:8080 surfen und schauen, was da zu sehen ist.
|
||||
5. nachsehen, welche Container gerade laufen: `docker ps`
|
||||
6. den Container stoppen: `docker stop webdemo`
|
||||
7. nachsehen, was auf http://fobiX.benbex.de:8080 zu sehen ist
|
||||
8. docker start webdemo
|
||||
9. prüfen, ob die Seite wieder erreichbar ist
|
||||
10. versuchen, mit `docker rm -f webdemo` den laufenden Container zu löschen
|
||||
11. Container stoppen und löschen mit `docker stop webdemo ; docker rm webdemo`
|
||||
12. Container neu starten mit `docker run --name webdemo -d -p 8080:80 nginx`
|
||||
13. mit einem Browser nach http://fobiX.benbex.de:8080 surfen und schauen, was da zu sehen ist.
|
||||
|
||||
Du merkst: Container sind von flüchtiger Natur.
|
||||
|
||||
### Persistente Daten in Container einbinden
|
||||
Du kannst beim Start des Containers schon ein Verzeichnis angeben, das in den Container gemounted wird. z.B.
|
||||
docker run --name webdemo -v /root/docker-fobi/webroot:/usr/share/nginx/html -d -p 80:80 nginx
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,28 @@
|
|||
#!/bin/bash
|
||||
i#!/bin/bash
|
||||
set -e
|
||||
|
||||
# 1. Installation von tmux
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update -qq
|
||||
apt-get install -y ansible tmux vim
|
||||
# sicherstellen, dass ignoreeof gesetzt ist
|
||||
if ! grep -Fxq 'set -o ignoreeof' ~/.bashrc; then
|
||||
echo 'set -o ignoreeof' >> ~/.bashrc
|
||||
fi
|
||||
# 2. Prüfen, ob bereits in tmux
|
||||
if [ -z "$TMUX" ]; then
|
||||
|
||||
# ~/.bashrc härten: ignoreeof einmalig setzen
|
||||
grep -Fxq 'set -o ignoreeof' ~/.bashrc || echo 'set -o ignoreeof' >> ~/.bashrc
|
||||
|
||||
SESSION="demo"
|
||||
|
||||
# Falls schon in tmux: zur Session wechseln oder neu anlegen
|
||||
if [ -n "$TMUX" ]; then
|
||||
tmux switch-client -t "$SESSION" 2>/dev/null || {
|
||||
tmux new-session -Ad -s "$SESSION"
|
||||
tmux switch-client -t "$SESSION"
|
||||
}
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Außerhalb von tmux: vorhandene Session anhängen, sonst neu erstellen und dann anhängen
|
||||
if tmux has-session -t "$SESSION" 2>/dev/null; then
|
||||
tmux attach -t "$SESSION"
|
||||
else
|
||||
tmux new-session -d -s "$SESSION" bash -c '
|
||||
clear
|
||||
echo -e "gerade habe ich den Bildschirm gelöscht :)\n\n"
|
||||
|
|
@ -21,6 +32,5 @@ if [ -z "$TMUX" ]; then
|
|||
exec bash
|
||||
'
|
||||
tmux attach -t "$SESSION"
|
||||
else
|
||||
echo "Bereits in tmux."
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue