====== 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: (( 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 [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.