Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:docker:hello_docker_service [2026/02/22 14:09] ingo_wichmann [Aufgabe: BentoPDF] |
admin_grundlagen:docker:hello_docker_service [2026/02/25 20:40] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 35: | Zeile 35: | ||
| oder im Browser http://localhost | oder im Browser http://localhost | ||
| - | ===== Aufgabe: BentoPDF ===== | + | ====== Aufgabe: BentoPDF ====== |
| - | Nutze die obigen Befehle um das Image ''bentopdfteam/bentopdf:latest'' zu starten. Konvertiere ein Bild aus dem WWW in ein PDF. | + | Nutze die obigen Befehle um einen Container aus dem Image ''bentopdfteam/bentopdf:latest'' zu starten. Konvertiere ein Bild aus dem WWW in ein PDF. |
| + | |||
| + | 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://docs.docker.com/engine/containers/start-containers-automatically/ )) | ||
| + | docker inspect my_container -f "{{ .HostConfig.RestartPolicy }}" | ||
| + | |||
| + | ==== 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/whoami | ||
| + | |||
| + | ===== mit Systemd ===== | ||
| + | systemctl edit --full --force my_container.service | ||
| + | <file txt /etc/systemd/system/my_container.service> | ||
| + | [Unit] | ||
| + | Description=My container | ||
| + | Requires=docker.service | ||
| + | After=docker.service | ||
| + | |||
| + | [Service] | ||
| + | Restart=always | ||
| + | ExecStart=/usr/bin/docker run \ | ||
| + | --rm \ | ||
| + | --name %n \ | ||
| + | -p 80:80 \ | ||
| + | --log-driver=journald \ | ||
| + | --log-opt tag=%n \ | ||
| + | containous/whoami | ||
| + | ExecStop=/usr/bin/docker stop -t 2 %n | ||
| + | SuccessExitStatus=2 | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=default.target | ||
| + | </file> | ||
| + | systemctl enable --now my_container.service | ||
| + | systemctl status my_container.service | ||
| + | -> systemd sieht den docker-run Prozess, aber nicht die Prozesse im Container. | ||