docker - entropia · 21 docker ’ docker offene plattform f r: ¥ entwickler ¥ admins Òdeploy...

41
Docker Lass mal containern Julian “mino” GPN15 - 04.06.2015

Upload: buidan

Post on 04-Jun-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

DockerLass mal containern

Julian “mino”

GPN15 - 04.06.2015

2

Julian “mino”

Docker

!

Karlsruhe

[email protected]

twitter.com/julianklinck "

#

$

Interessen:

• Netzwerke

• Hardware

• Cocktails

• Hacking

• Musik- und Lichttechnik

3

Julian “mino”

Docker

!

Karlsruhe

[email protected]

#

$

Docker:

• Beruflich seit 2014

• SDN Cloud

4

Inhalt %

1 2 3 4

Software Deployment VM vs. Container Basics Container Format

5 6 7 8

Tools Sicherheit Zukunft Q & A

Dockerfile, Docker Daemon, Docker Hub

Layers

Compose, Swarm, Kitematic Angriffsvektoren LXD, Rocket, ClearLinux

Docker

Software DeploymentVergangenheit und Jetzt

&

6

Docker '

Docker

Das Problem

7

Klassisch &

Docker

Hast du ein Backup davor gemacht?

Server

O/S

Libraries

Application

Monolithisch

8

Klassisch &

Docker

Wir brauchen da noch…

Server

O/S

Libraries

Application Application

APP 0 APP 1

9

Klassisch &

Docker

Wir brauchen da noch…

Server

O/S

Libraries

Application

Libraries

Application

APP 0 APP 1

10

Klassisch &

Docker

Wir müssen bei PHP4.0 bleiben!

Server

O/S

PHP4

Application

PHP4.3

Application

APP 0 APP 1

Dependency Hell

11

Klassisch &

Docker

Der neue Server ist da

Server

O/S

Libraries

Application

Monolithisch

Libraries

Application

APP 0 APP 1

O/S

Server

• Teuer • Verschwenderisch • Schwer zu managen

VM vs. Container(

13

Virtualisierung )

Docker

Da sparen wir ja richtig Geld!

Server

O/S

Libraries

Application

Monolithisch

Libraries

Application

APP 0 APP 1

O/S

Virtualization

• Komplexität • Overhead

14

Container )

Docker

Der heilige Gral

Server

O/S

Libraries

Application

Monolithisch

Libraries

Application

APP 0 APP 1

• Komplexität

Container 0 Container 1

15

Docker )

Docker

Eine Applikation

Applikation

APP 0

16

Docker )

Docker

Mehr als eine Applikation

Webserver

APP 0

Webshop Code

Datenbankserver

Mailserver

17

Docker )

Docker

Unterteilung in mehrere Container

Webserver

APP 0

Webshop Code Datenbankserver Mailserver

Container 0 Container 1 Container 2 Container 3

Server

O/S

“One process per container”

18

Docker )

Docker

Alles voneinander getrennt

Webserver

APP 0

Webshop Code Datenbankserver Mailserver

Container 0 Container 1 Container 2 Container 3

Server

O/S

APP 1

Homepage

Container 4

CMS Frontend CMS Backend

Container 5 Container 6

APP 2

19

Docker )

Docker

Definierte Zugriffsmöglichkeiten

Webserver

APP 0

Webshop Datenbankserver Mailserver

Container 0 Container 1 Container 2 Container 3

Server

O/S

APP 1

Homepage

Container 4

CMS Frontend CMS Backend

Container 5 Container 6

APP 2

Basics'Dockerfile, Docker Daemon, Docker Hub

21

Docker '

Docker

Offene Plattform für: • Entwickler • Admins

“Deploy everything nearly everywhere reliably and consistently”

Deploy everything: • Webapps • Backends • Databases • Message Queues • Proxys • …

Deploy everywhere: • Linux Server • VMs or Bare-Metal • Any distro • Kernel 3.8+ • x86_64

22

Dockerfile '

Docker

Die Baunaleitung

23

Docker CLI '

Docker

Das Werkzeug

Quelle:

24

Docker CLI '

Docker

Das Werkzeug

Quelle:

25

Basis Komponenten '

Docker

Docker Daemon • Root Prozess • Docker API

Docker Hub • Webservice • Image Speicher • Public Registry/Repository

26

Image & Container '

Docker

Image • Name • Dockerfile step-by-step • Applikations Abbild

Container • Name • Image als Basis • Runtime

27

Docker Prozess '

Docker

Quelle:

Container Format*Layers

29

Layer *

Docker

Quelle:

• Sub-Layers • Top-Layer Union Mount • Copy-On-Write

30

Layer *

Docker

Quelle:

• Layer können wiederbenutzt werden

Apache

Ubuntu 14.04

MOD_PERL

ICINGA

PHP5

WORDPRESS

UNION MOUNT UNION MOUNT

APP 0 APP 1

31

Layer *

Docker

Quelle:

• Layer können wiederbenutzt werden

Apache

Ubuntu 14.04

MOD_PERL

ICINGA

PHP5

WORDPRESS

UNION MOUNT UNION MOUNT

APP 0 APP 1

UNION MOUNT

APP 2

• Speichereffizienz

Tools+Compose, Swarm, Kitematic

33

Compose +

Docker

Applikationen • Multiple Container • Abhängigkeiten

Verwaltungswerkzeug • “docker-compose.yml” • Start, Stop, Rebuild…

Quelle:

Container Management

34

Swarm +

Docker

Cluster • Multiple Docker Daemons • Verwaltung • Docker API kompatibel

Docker Daemon Clustering

Quelle:

35

Kitematic +

Docker

Docker GUI + VM • Klicki-Bunti • Installer

• VirtualBox • Minimal Docker OS

• Suche im Docker Hub

Docker für Mac / Windows

Quelle:

Sicherheit,Angriffsvektoren

37

Angriffsvektoren ,

Docker

• Docker Daemon • Root Rechte

• Docker API • Lokaler socket • HTTP optional • HTTP(s) optional

• Kernel • Selinux, AppArmor

• User Fehler • Container Capabilities • Volume Mounts

Zukunft)LXD, Rocket, ClearLinux

39

Zukunfsprojekte )

Docker

Docker ist nicht der Weisheit letzter Schluss

LXD

DANKE FÜR DIE AUFMERKSAMKEIT

FRAGEN?

-

ARCAMA

VIEL SPASS AUF DER GPN15