Download - systemd & Docker
Systemd & Docker
1 / 25
Über mich
Thorsten Höger
Sr. Software Engineer @ M-Way Solutions GmbH
@hoegertn
2 / 25
Unser Use Case für DockerServer für Frontendentwickler
3 / 25
Unser Use Case für DockerServer für Frontendentwickler
Testserver
4 / 25
Unser Use Case für DockerServer für Frontendentwickler
Testserver
Datenbanken für Entwickler
5 / 25
Unser Use Case für DockerServer für Frontendentwickler
Testserver
Datenbanken für Entwickler
TLS Proxy für Entwickler
6 / 25
Unser Use Case für DockerServer für Frontendentwickler
Testserver
Datenbanken für Entwickler
TLS Proxy für Entwickler
7 / 25
Testserver Infrastrukturmehrere Server für Testinstanzen
8 / 25
Testserver Infrastrukturmehrere Server für Testinstanzen
Proxyserver mit nginx
9 / 25
Testserver Infrastrukturmehrere Server für Testinstanzen
Proxyserver mit nginx
Datenbankcluster
10 / 25
Ziele der DockerumgebungVerwaltung als Systemdienst
11 / 25
Ziele der DockerumgebungVerwaltung als Systemdienst
zentrales Logging
12 / 25
Ziele der DockerumgebungVerwaltung als Systemdienst
zentrales Logging
neustarten bei Fehlern
13 / 25
Ziele der DockerumgebungVerwaltung als Systemdienst
zentrales Logging
neustarten bei Fehlern
dynamische Instanzen
14 / 25
PlattformCentOS 7 als Betriebssystem
-> systemd als init-System
-> journald als Logsystem
15 / 25
systemd GrundlagenStarten eines Dienstes
systemctl start service
Stoppen eines Dienstes
systemctl stop service
Anzeigen des Dienststatus
systemctl status service
Neuladen der Dienstdefinition
systemctl daemon-reload
16 / 25
systemd vs sysv-initunit File statt Initscript
17 / 25
systemd vs sysv-initunit File statt Initscript
run statt start
18 / 25
systemd vs sysv-initunit File statt Initscript
run statt start
integriertes logging
19 / 25
unit File statt Initscript
20 / 25
Aufbau einer Unit File
21 / 25
Docker mit systemddocker run -d unpraktisch
läuft als Daemon und nicht im Vordergrund
keine Laufzeitüberwachung durch systemd
kein Zugriff auf Stdout
22 / 25
Docker mit systemddocker run -d unpraktisch
läuft als Daemon und nicht im Vordergrund
keine Laufzeitüberwachung durch systemd
kein Zugriff auf Stdout
systemd-docker als Hilfsmittel
startet den Container im Vordergrund
inklusive Laufzeitüberwachung
https://github.com/ibuildthecloud/systemd-docker
23 / 25
Unit file für docker[Unit]Description=Relution %iAfter=network.target docker.serviceRequires=docker.service
[Service]EnvironmentFile=/opt/relution.%i/environmentExecStartPre=/usr/bin/docker pull hub.office.mwaysolutions.com/relution-serverExecStart=/usr/bin/systemd-docker --cgroups name=systemd --env run --rm --name relution.%i -v /opt/relution.%i/sql.conf:/opt/relution/conf/sql.conf -p ${PORT}:8080 hub.office.mwaysolutions.com/relution-server:latestKillMode=mixedKillSignal=SIGINTRestart=alwaysSyslogIdentifier=relution-%iRestartSec=10sType=notifyNotifyAccess=allTimeoutStartSec=120TimeoutStopSec=15LimitNOFILE=1048576LimitNPROC=1048576
[Install]WantedBy=multi-user.target
24 / 25
Log ZugriffAktuelles Log
journalctl _SYSTEMD_UNIT=relution.service
Livelog
journalctl -f _SYSTEMD_UNIT=relution.service
25 / 25