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:~#
|
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
|
set -e
|
||||||
|
|
||||||
# 1. Installation von tmux
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
apt-get update -qq
|
apt-get update -qq
|
||||||
apt-get install -y ansible tmux vim
|
apt-get install -y ansible tmux vim
|
||||||
# sicherstellen, dass ignoreeof gesetzt ist
|
|
||||||
if ! grep -Fxq 'set -o ignoreeof' ~/.bashrc; then
|
# ~/.bashrc härten: ignoreeof einmalig setzen
|
||||||
echo 'set -o ignoreeof' >> ~/.bashrc
|
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
|
fi
|
||||||
# 2. Prüfen, ob bereits in tmux
|
|
||||||
if [ -z "$TMUX" ]; then
|
# Außerhalb von tmux: vorhandene Session anhängen, sonst neu erstellen und dann anhängen
|
||||||
SESSION="demo"
|
if tmux has-session -t "$SESSION" 2>/dev/null; then
|
||||||
|
tmux attach -t "$SESSION"
|
||||||
|
else
|
||||||
tmux new-session -d -s "$SESSION" bash -c '
|
tmux new-session -d -s "$SESSION" bash -c '
|
||||||
clear
|
clear
|
||||||
echo -e "gerade habe ich den Bildschirm gelöscht :)\n\n"
|
echo -e "gerade habe ich den Bildschirm gelöscht :)\n\n"
|
||||||
|
|
@ -21,6 +32,5 @@ if [ -z "$TMUX" ]; then
|
||||||
exec bash
|
exec bash
|
||||||
'
|
'
|
||||||
tmux attach -t "$SESSION"
|
tmux attach -t "$SESSION"
|
||||||
else
|
|
||||||
echo "Bereits in tmux."
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue