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 13:49] ingo_wichmann |
admin_grundlagen:docker:hello_docker_service [2026/02/25 20:40] (aktuell) ingo_wichmann |
||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| starten: | starten: | ||
| docker container run -d -P --name port_zufall containous/whoami | docker container run -d -P --name port_zufall containous/whoami | ||
| - | anzeigen: | + | Resourcenverbrauch anzeigen: |
| + | docker container stats | ||
| + | Container anzeigen: | ||
| docker container ps | docker container ps | ||
| -> zeigt sowas an wie: <file> | -> zeigt sowas an wie: <file> | ||
| Zeile 9: | Zeile 11: | ||
| b575343f885c containous/whoami "/whoami" 11 seconds ago Up 10 seconds 0.0.0.0:32768->80/tcp, :::32768->80/tcp port_zufall | b575343f885c containous/whoami "/whoami" 11 seconds ago Up 10 seconds 0.0.0.0:32768->80/tcp, :::32768->80/tcp port_zufall | ||
| </file> | </file> | ||
| - | docker container stats | + | -> Portnummer rauskopieren |
| - | -> zeigt Resourcenverbrauch | + | |
| Dienst ansprechen: | Dienst ansprechen: | ||
| curl http://localhost:32768 | curl http://localhost:32768 | ||
| + | oder im Browser http://localhost:32768 | ||
| + | |||
| Dienst stoppen: | Dienst stoppen: | ||
| docker container stop port_zufall | docker container stop port_zufall | ||
| Zeile 30: | Zeile 33: | ||
| Dienst ansprechen: | Dienst ansprechen: | ||
| curl http://localhost | curl http://localhost | ||
| - | Instanz löschen: | + | oder im Browser http://localhost |
| - | docker container stop port_80 | + | |
| - | docker container rm port_80 | + | |
| + | ====== 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. | ||
| + | |||
| + | 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. | ||