Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein...

48
Leichtgewichtige Orchestrierung von Docker Containern Dr. Halil-Cem Gürsoy @hgutwit adesso AG - Dortmund

Transcript of Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein...

Page 1: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Leichtgewichtige Orchestrierung von Docker Containern Dr. Halil-Cem Gürsoy @hgutwit adesso AG - Dortmund

Page 2: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Über mich

► Principal Architect @ adesso AG

► seit 15 Jahre Software-Entwicklung

> davor in wissenschaftlichem Umfeld

► Verteilte Enterprise-Systeme

► Persistenz / Build & Deployment

2

Page 3: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,
Page 4: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

„Our highest priority is to satisfy

the customer through early and

continuous delivery of valuable software.“

Agile Manifesto Principles

Page 5: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

VM vs.Container

5

Quelle: http://docs.docker.com

Page 6: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Application Images

6

www.flickr.com/photos/matijagrguric/4437187539/

Java Spring Boot

Dockerfile, Packer, Puppet, Chef …

Page 7: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

CD + Docker Workflow - supertrivial

7

Build Java

Project

mvn Repo

Server

DeployJava App v 1.0.0

Build Docker Image

Get Artifactv 1.0.0

Docker Registry

Push Image v 1.0.0

Create & Start Docker

Container

Docker Host

Stop / Kill Container

Pull Image v 1.0.0

Page 8: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Build once - deploy many!

https://www.flickr.com/photos/jstar/2338025074

Page 9: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

www.flickr.com/photos/matijagrguric/4437187539/

DeployDev

Deploy Test

Deploy UAT

Deploy PP

Deploy Prod

Promote!

9

Page 10: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,
Page 11: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Application „Container“

11

https://www.flickr.com/photos/matijagrguric/4437187539

Page 12: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Eine Anwendung = viele Container

► Eine Applikation besteht nicht nur aus einem Container

> ein Container isoliert nur einen Prozess

► Module / Services in eigenen Containern

> Stichwort Microservices

12

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

Page 13: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Warum Orchestrierung?

► Container müssen miteinander kommunizieren

► Was, wenn Container auf verschiedene Server verteilt

werden?

13

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

Page 14: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,
Page 15: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

https://www.flickr.com/photos/tomwahlin/with/3167491292/

Page 16: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

https://www.flickr.com/photos/ryandesiderio/1023387642

Page 17: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Container Links

17

docker run –d –P --name db42 dbimage docker run –d –P --name app42 --link db42:db appimage --link [name]:[alias]

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

Page 18: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Container Links

18

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

Page 19: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

https://www.flickr.com/photos/zunami/3780220955/

Page 20: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

► Ein eigenes Netzwerk für Docker aufziehen

► Tools gibt es … bestimmt ganz easy …

► Tunnel, Bridges, ….

► z.B. Handmade mit OpenVSwitch

> Auf jedem Docker Host wird Teil der IP-Range vergeben

► … oder mit Weave - powerstrip-weave

► … oder mit OpenContrail

Was können wir tun?

20

Page 21: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

OpenContrail

21

http://www.opencontrail.org/wp-content/uploads/2014/09/opencontrail-docker-figure-1.png

Page 22: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

https://www.flickr.com/photos/r_rose/102766969/

Page 23: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Anforderung ist doch ganz simpel…

23

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

80

49367

Host A 10.20.30.40

Host B 10.20.30.41

Page 24: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

https://www.flickr.com/photos/timothymorgan/4420821913

Page 25: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Anforderung ist doch ganz simpel…

25

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

80

49367

Host A 10.20.30.40

Host B 10.20.30.41

Page 26: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Pure Docker nutzen

► docker run --add-host webserver:10.20.30.40

> fügt einen Eintrag in /etc/hosts hinzu

> z.B. einen weiteren Docker Host

► Port über Umgebungsvariablen

> docker run -e webserver_port:49367

► Nachteil

> Unflexibel

> größere Umgebungen sind nicht wartbar26

Page 27: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

https://www.flickr.com/photos/neilspicys/2348969927

Page 28: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Machine

► Gut um (mehrere) Docker Hosts anzulegen und zu starten

docker-machine create \  --driver digitalocean \  --digitalocean-access-token=$DIGITAL_OCEAN_TOKEN \  test-machine

► Kommunikation zw. Containern auf verschiedenen Hosts

damit noch nicht gelöst

► Also brauchen wir mehr…

28

Page 29: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,
Page 30: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Swarm

► Docker Swarm ist ‚die‘ Cluster-Lösung von Docker

► Unterstützt das neue Overlay-Network

► Mit Docker Machine einfach anzulegen docker-machine create \  --swarm \ --swarm-master \  --swarm-discovery token://$SWARM_ID \ swarm-master

docker-machine create \  --swarm \ --swarm-discovery token://$SWARM_ID \   swarm-node-01

30

Page 31: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Swarm - Manager

► Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten

> Consul, etcd, Zookeeper, Datei, IP ranges etc.

► fungiert wie ein proxy, implementiert Docker Remote API

► Verwaltet das Starten der Container auf den Knoten

> abhängig von CPU und / oder Speicher Auslastung

> … oder Labels auf den Docker hosts

> … oder Affinität zu Ressourcen / andere Container

31

Page 32: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Swarm Manager - Scheduler Strategies

► Scheduler arbeitet auf Basis von Strategies und Filter

► Aktuell drei Strategies zum Bewerten von Knoten:

> spread

– default, lastet gleichmäßig aus

> binpack - macht einen Knoten nach dem anderen voll

> random

► ‚naives’ Überprovisionieren möglich

32

Page 33: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Swarm Manager - Scheduler Filter

► Der Scheduler bietet diverse Filter zur Knoten-Auswahl

> Constraint - Label auf einer Docker Engine

> Affinity - Zusammen mit einer definierten Ressource

> Port - Auf welchem Node ist Port xy noch frei?

> Dependency - bitte mit Container XY zusammen

> Health - nur auf gesunden Nodes

$ docker daemon --label storage=ssd $ docker run -d -P -e constraint:storage==ssd --name db mysql

33

Page 34: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Ausflug - Swarm mit Overlay-Netzwerk

► Ab Docker 1.9 unterstützt libnetwork ein Overlay-Netwerk

> Netzwerk Node-überspannend möglich

► Virtuelles Netzwerk basierend auf vxlan

► Minimum Kernel 3.16

> Kernel-Upgrade bei Ubuntu 14.04 nötig (oder Debian 8)

► Consul oder Etcd oder ZooKeeper als K/V-Store

► ab Docker 1.10.0 über ‚embedded DNS‘

> in 1.9.x Einträge in /etc/hosts aller Container

34

Page 35: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Ausflug - Swarm mit Overlay-Netzwerk

$ docker network create -d overlay multihost$ docker network ls NETWORK ID NAME DRIVER 36935a0674d4 multihost overlay

► Beim Start des Containers Netzwerk mitteilen:

$DOCKER run -d -P --net="multihost" elasticsearch

► libnetwork ist Plugin-basiert

> overlay, weave

► Swarm 1.0.x wird mit unterstützt

35

Page 36: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

http://github.com/hcguersoy/swarm-elastic-demo

https://www.flickr.com/photos/schwaber/3238977103

Page 37: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Netzwerk ist nicht alles

► Flexibilität?

► Unabhängig von Docker usw. Einsatz von Service Discovery

in einer Microservice-Architektur überdenken

► ‚Brauche ich wirklich Service Discovery auch wenn ich ein

Overlay Netzwerk habe?‘

> Ja! Ja! Ja!

> In einem verteilten System bleiben die

Herausforderungen gleich, unabhängig von Docker usw.

37

Page 38: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Netzwerk ist nicht alles

► Service Discovery einsetzen!

> Consul, etcd, SkyDNS 2, …

► Container werden im Service Discovery-System registriert

> z.B. automatisch mit Registrator (*)

> … oder „manuell“ z.B. per REST-Call

38

Page 39: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Service Discovery einsetzen

► Zu Startzeit Konfigurationsdatei-Templates ‚befüllen‘

> z.B. mit confd oder consul-template

► … oder Umgebungsvariablen setzen

> u.a. consul-env

► Nachteil wenn Konfigurationen sich ändern

► DNS SRV Request

> Sowohl IP als auch Port, Auswahl aus mehreren

> Muss meist in Applikation behandelt werden

39

Page 40: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Compose

► Ehemals ‚Fig‘

► Python

► „Compose is a tool for defining and running multi-container

applications with Docker.“

► Gut geeignet um komplexe Infrastruktur für Entwickler

aufzubauen

40

Page 41: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Compose - Konfiguration

► Konfiguration über YAML-Dateien: myapp: build: . ports: - "8080:8080" volumes: - ./conf:/etc/myapp/conf links: - mysql mysql: image: mysql

►docker-compose up

41

Page 42: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Compose

► Es geht komplexer: Kubernetes auf Swarm etcd: image: gcr.io/google_containers/etcd:2.0.13 container_name: etcd command: ['/usr/local/bin/etcd', '--bind-addr=0.0.0.0:4001', '--data-dir=/var/etcd/data']

apiserver: image: gcr.io/google_containers/hyperkube:v1.0.7 container_name: apiserver ports: - "8080" command: ["/hyperkube", "apiserver", "--service-cluster-ip-range=172.17.17.1/24", "--address=0.0.0.0", "--etcd_servers=http://etcd:4001", "--cluster_name=kubernetes", "--v=2"]

controller: image: gcr.io/google_containers/hyperkube:v1.0.7 command: ["/hyperkube", "controller-manager", "--address=0.0.0.0", "--master=http://apiserver:8080", "--v=2"] environment: - "affinity:container==*apiserver*" ...

Quelle 'Swarm Frontend’ (https://github.com/docker/swarm-frontends)

42

Page 43: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Docker Compose mit Swarm ?

► ‚Swarm is supported‘

► … mit Hilfe von Container-Affinity

► Eventually, Compose and Swarm aim to have full integration

… integration is currently incomplete(https://github.com/docker/compose/blob/master/SWARM.md)

► Multi-Host Netzwerk wird in 1.5.0 experimentell unterstützt

43

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/ www.flickr.com/photos/matijagrguric/4437187539/

www.flickr.com/photos/matijagrguric/4437187539/

Page 44: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Alle Puzzleteile zusammen getragen….

► Docker Swarm als Scheduler

> mit Consul als K/V-Store für den Cluster

> …und zur Service Discovery

► Overlay-Netzwerk für Kommunikation zw. Containern

► Lose Kopplung!

44

Page 45: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Was aber noch fehlt…

► Self Healing / Resilience

> in 1.10.x experimentell

► ‚Move‘ von laufenden Containern ohne Tools nicht möglich

► Auto Scaling

> was passiert wenn System unter Last steht?

► Übergreifendes Monitoring

45

Page 46: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

Alternativen?

► Es gibt viele weitere Orchestrierung-Lösungen

> maestro-ng

> Apache Mesos & Marathon

> Crane

> Rancher.io

> Spotify Helios

> ….

46

Page 47: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

http://www.flickr.com/photos/an_untrained_eye/6630719431

Page 48: Leichtgewichtige Orchestrierung von Docker Containern€¦ · Docker Swarm - Manager Benötigt ein ‚Discovery Service‘ um die Knoten zu verwalten > Consul, etcd, Zookeeper, Datei,

http://www.flickr.com/photos/tcmorgan/7372944070

[email protected] https://twitter.com/hgutwit

https://github.com/hcguersoy/swarm-elastic-demo