admin_grundlagen:docker:hello_docker_service
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:docker:hello_docker_service [2026/01/25 13:47] – angelegt ingo_wichmann | admin_grundlagen:docker:hello_docker_service [2026/05/24 12:28] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| ===== erster Versuch ===== | ===== erster Versuch ===== | ||
| starten: | starten: | ||
| - | docker run -d -P --name port_zufall containous/ | + | docker |
| - | anzeigen: | + | Container |
| - | docker ps | + | docker |
| -> zeigt sowas an wie: < | -> zeigt sowas an wie: < | ||
| CONTAINER ID | CONTAINER ID | ||
| b575343f885c | b575343f885c | ||
| </ | </ | ||
| - | | + | -> Portnummer rauskopieren (( |
| - | -> zeigt Resourcenverbrauch | + | port=$(docker container |
| + | )) | ||
| Dienst ansprechen: | Dienst ansprechen: | ||
| - | curl http:// | + | curl http:// |
| + | oder im Browser | ||
| Dienst stoppen: | Dienst stoppen: | ||
| - | docker stop port_zufall | + | docker |
| - | docker ps -a | + | docker |
| Dienst starten: | Dienst starten: | ||
| - | docker start port_zufall | + | docker |
| - | docker ps | + | docker |
| Logs anzeigen: | Logs anzeigen: | ||
| - | docker logs port_zufall | + | docker |
| Instanz löschen: | Instanz löschen: | ||
| - | docker stop port_zufall | + | docker |
| - | docker rm port_zufall | + | docker |
| ===== mit Port 80 starten ===== | ===== mit Port 80 starten ===== | ||
| - | docker run -d -p 80:80 --name port_80 containous/ | + | docker |
| Dienst ansprechen: | Dienst ansprechen: | ||
| curl http:// | curl http:// | ||
| - | Instanz löschen: | + | oder im Browser http://localhost |
| - | docker stop port_80 | + | |
| - | docker rm port_80 | + | |
| + | ====== Aufgabe: BentoPDF ====== | ||
| + | Nutze die obigen Befehle um einen Container aus dem Image '' | ||
| + | |||
| + | Was passiert, wenn Du den Docker-Service neu startest oder das System neu startest: läuft der Container noch? | ||
| + | |||
| + | ====== Container rebootfest machen ====== | ||
| + | ===== mit Docker ===== | ||
| + | |||
| + | RestartPolicy anzeigen: (( https:// | ||
| + | docker inspect my_container -f "{{ .HostConfig.RestartPolicy.Name }}" | ||
| + | |||
| + | ++++ podman | | ||
| + | Podman bringt einen Systemd-Service mit, der alle Container startet, die '' | ||
| + | systemctl enable podman-restart.service | ||
| + | ++++ | ||
| + | ==== bereits laufende Container reboot fest machen ==== | ||
| + | docker update --restart=always my_container | ||
| + | |||
| + | ==== neue Container rebootfest starten ==== | ||
| + | docker container run -d --restart=always -p 80:80 --name my_container containous/ | ||
| + | |||
| + | ===== mit Systemd ===== | ||
| + | ++++ podman | | ||
| + | Podman kann unit files generieren: | ||
| + | podman generate systemd --new --name my_container | ||
| + | ++++ | ||
| + | systemctl edit --full --force my_container.service | ||
| + | <file txt / | ||
| + | [Unit] | ||
| + | Description=My container | ||
| + | Requires=docker.service | ||
| + | After=docker.service | ||
| + | |||
| + | [Service] | ||
| + | Restart=always | ||
| + | ExecStart=/ | ||
| + | --rm \ | ||
| + | --name %n \ | ||
| + | -p 80:80 \ | ||
| + | --log-driver=journald \ | ||
| + | --log-opt tag=%n \ | ||
| + | containous/ | ||
| + | ExecStop=/ | ||
| + | SuccessExitStatus=2 | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=default.target | ||
| + | </ | ||
| + | systemctl enable --now my_container.service | ||
| + | systemctl status my_container.service | ||
| + | -> systemd sieht den docker-run Prozess, aber nicht die Prozesse im Container. | ||
admin_grundlagen/docker/hello_docker_service.1769348859.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
