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

Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Jun 04, 2018

Download

Documents

buidan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

DockerLass mal containern

Julian “mino”

GPN15 - 04.06.2015

Page 2: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

2

Julian “mino”

Docker

!

Karlsruhe

[email protected]

twitter.com/julianklinck "

#

$

Interessen:

• Netzwerke

• Hardware

• Cocktails

• Hacking

• Musik- und Lichttechnik

Page 3: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

3

Julian “mino”

Docker

!

Karlsruhe

[email protected]

#

$

Docker:

• Beruflich seit 2014

• SDN Cloud

Page 4: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 5: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Software DeploymentVergangenheit und Jetzt

&

Page 6: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

6

Docker '

Docker

Das Problem

Page 7: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

7

Klassisch &

Docker

Hast du ein Backup davor gemacht?

Server

O/S

Libraries

Application

Monolithisch

Page 8: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

8

Klassisch &

Docker

Wir brauchen da noch…

Server

O/S

Libraries

Application Application

APP 0 APP 1

Page 9: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

9

Klassisch &

Docker

Wir brauchen da noch…

Server

O/S

Libraries

Application

Libraries

Application

APP 0 APP 1

Page 10: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

10

Klassisch &

Docker

Wir müssen bei PHP4.0 bleiben!

Server

O/S

PHP4

Application

PHP4.3

Application

APP 0 APP 1

Dependency Hell

Page 11: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 12: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

VM vs. Container(

Page 13: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 14: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

14

Container )

Docker

Der heilige Gral

Server

O/S

Libraries

Application

Monolithisch

Libraries

Application

APP 0 APP 1

• Komplexität

Container 0 Container 1

Page 15: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

15

Docker )

Docker

Eine Applikation

Applikation

APP 0

Page 16: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

16

Docker )

Docker

Mehr als eine Applikation

Webserver

APP 0

Webshop Code

Datenbankserver

Mailserver

Page 17: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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”

Page 18: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 19: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 20: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Basics'Dockerfile, Docker Daemon, Docker Hub

Page 21: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 22: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

22

Dockerfile '

Docker

Die Baunaleitung

Page 23: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

23

Docker CLI '

Docker

Das Werkzeug

Quelle:

Page 24: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

24

Docker CLI '

Docker

Das Werkzeug

Quelle:

Page 25: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

25

Basis Komponenten '

Docker

Docker Daemon • Root Prozess • Docker API

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

Page 26: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

26

Image & Container '

Docker

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

Container • Name • Image als Basis • Runtime

Page 27: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

27

Docker Prozess '

Docker

Quelle:

Page 28: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Container Format*Layers

Page 29: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

29

Layer *

Docker

Quelle:

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

Page 30: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 31: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 32: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Tools+Compose, Swarm, Kitematic

Page 33: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

33

Compose +

Docker

Applikationen • Multiple Container • Abhängigkeiten

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

Quelle:

Container Management

Page 34: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

34

Swarm +

Docker

Cluster • Multiple Docker Daemons • Verwaltung • Docker API kompatibel

Docker Daemon Clustering

Quelle:

Page 35: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

35

Kitematic +

Docker

Docker GUI + VM • Klicki-Bunti • Installer

• VirtualBox • Minimal Docker OS

• Suche im Docker Hub

Docker für Mac / Windows

Quelle:

Page 36: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Sicherheit,Angriffsvektoren

Page 37: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

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

Page 38: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

Zukunft)LXD, Rocket, ClearLinux

Page 39: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

39

Zukunfsprojekte )

Docker

Docker ist nicht der Weisheit letzter Schluss

LXD

Page 40: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

DANKE FÜR DIE AUFMERKSAMKEIT

FRAGEN?

-

Page 41: Docker - Entropia · 21 Docker ’ Docker Offene Plattform f r: ¥ Entwickler ¥ Admins ÒDeploy everything nearly everywhere reliably and consistentlyÓ Deploy everything:

ARCAMA

VIEL SPASS AUF DER GPN15