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 17:13] ingo_wichmann [Aufgabe: BentoPDF] |
admin_grundlagen:docker:hello_docker_service [2026/02/25 20:40] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 37: | Zeile 37: | ||
| ====== Aufgabe: BentoPDF ====== | ====== Aufgabe: BentoPDF ====== | ||
| Nutze die obigen Befehle um einen Container aus dem 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. | ||