Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:hello_docker_service

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:hello_docker_service [2026/02/22 14:06]
ingo_wichmann
admin_grundlagen:docker:hello_docker_service [2026/05/24 12:28] (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
-Resourcenverbrauch anzeigen: 
-  docker container stats 
 Container anzeigen: Container anzeigen:
   docker container ps   docker container ps
Zeile 11: Zeile 9:
 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>​
--> Portnummer rauskopieren+-> Portnummer rauskopieren ​(( 
 +  port=$(docker container inspect port_zufall | jq -r '​.[0].NetworkSettings.Ports."​80/​tcp"​.[0].HostPort'​) 
 +))
  
 Dienst ansprechen: Dienst ansprechen:
-  curl http://​localhost:​32768+  curl http://​localhost:​$port
 oder im Browser http://​localhost:​32768 oder im Browser http://​localhost:​32768
  
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 Internet ​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.Name }}" 
 + 
 +++++ podman | 
 +Podman bringt einen Systemd-Service mit, der alle Container startet, die ''​restart-policy=always''​ gesetzt haben: 
 +  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/​whoami 
 + 
 +===== mit Systemd ===== 
 +++++ podman | 
 +Podman kann unit files generieren:​ 
 +  podman generate systemd --new --name my_container 
 +++++ 
 +  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
admin_grundlagen/docker/hello_docker_service.1771769190.txt.gz · Zuletzt geändert: 2026/02/22 14:06 von ingo_wichmann