Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:hello_docker_service

whoami Service

erster Versuch

starten:

docker container run -d -P --name port_zufall containous/whoami

Resourcenverbrauch anzeigen:

docker container stats

Container anzeigen:

docker container ps

→ zeigt sowas an wie:

CONTAINER ID   IMAGE               COMMAND     CREATED          STATUS          PORTS                                     NAMES
b575343f885c   containous/whoami   "/whoami"   11 seconds ago   Up 10 seconds   0.0.0.0:32768->80/tcp, :::32768->80/tcp   port_zufall

→ Portnummer rauskopieren

Dienst ansprechen:

curl http://localhost:32768

oder im Browser http://localhost:32768

Dienst stoppen:

docker container stop port_zufall
docker container ps -a

Dienst starten:

docker container start port_zufall
docker container ps

Logs anzeigen:

docker container logs port_zufall

Instanz löschen:

docker container stop port_zufall
docker container rm port_zufall

mit Port 80 starten

docker container run -d -p 80:80 --name port_80 containous/whoami

Dienst ansprechen:

curl http://localhost

oder im Browser http://localhost

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: 1)

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
/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
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.txt · Zuletzt geändert: 2026/02/25 20:40 von ingo_wichmann