systemd & Docker

Post on 16-Aug-2015

68 views 2 download

Transcript of 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