Docker
Lass mal containern
Julian “mino”
GPN15 - 04.06.2015
2
Julian “mino”
Docker
!
Karlsruhe
gpn15@lab10.de
twitter.com/julianklinck"
#
$
Interessen:
• Netzwerke
• Hardware
• Cockt...
3
Julian “mino”
Docker
!
Karlsruhe
jklinck@ocedo.com
#
$
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
Doc...
Software Deployment
Vergangenheit 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...
11
Klassisch &
Docker
Der neue Server ist da
Server
O/S
Libraries
Application
Monolithisch
Libraries
Application
APP 0 APP...
VM vs. Container(
13
Virtualisierung )
Docker
Da sparen wir ja richtig Geld!
Server
O/S
Libraries
Application
Monolithisch
Libraries
Applica...
14
Container )
Docker
Der heilige Gral
Server
O/S
Libraries
Application
Monolithisch
Libraries
Application
APP 0 APP 1
• K...
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 C...
18
Docker )
Docker
Alles voneinander getrennt
Webserver
APP 0
Webshop Code Datenbankserver Mailserver
Container 0 Containe...
19
Docker )
Docker
Definierte Zugriffsmöglichkeiten
Webserver
APP 0
Webshop Datenbankserver Mailserver
Container 0 Contain...
Basics' Dockerfile, Docker Daemon, Docker Hub
21
Docker '
Docker
Offene Plattform für:
• Entwickler
• Admins
“Deploy everything nearly everywhere reliably and consisten...
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 ...
26
Image & Container '
Docker
Image
• Name
• Dockerfile step-by-step
• Applikations Abbild
Container
• Name
• Image als Ba...
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 MOU...
31
Layer *
Docker
Quelle:
• Layer können wiederbenutzt werden
Apache
Ubuntu 14.04
MOD_PERL
ICINGA
PHP5
WORDPRESS
UNION MOU...
Tools+ Compose, Swarm, Kitematic
33
Compose +
Docker
Applikationen
• Multiple Container
• Abhängigkeiten
Verwaltungswerkzeug
• “docker-compose.yml”
• Start...
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
Do...
Sicherheit, Angriffsvektoren
37
Angriffsvektoren ,
Docker
• Docker Daemon
• Root Rechte
• Docker API
• Lokaler socket
• HTTP optional
• HTTP(s) optiona...
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
Nächste SlideShare
Wird geladen in …5
×

Docker Einführung @GPN15

1.385 Aufrufe

Veröffentlicht am

Container Services mit Docker
Deutsch/Englische Folien. Es gibt eine deutsche Video Aufzeichnung des Talks unter https://entropia.de/GPN15:Docker
----
Container services with Docker
German/English slides. There is a german recording to this talk at https://entropia.de/GPN15:Docker

Veröffentlicht in: Technologie
0 Kommentare
5 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.385
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
12
Aktionen
Geteilt
0
Downloads
33
Kommentare
0
Gefällt mir
5
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Docker Einführung @GPN15

  1. 1. Docker Lass mal containern Julian “mino” GPN15 - 04.06.2015
  2. 2. 2 Julian “mino” Docker ! Karlsruhe gpn15@lab10.de twitter.com/julianklinck" # $ Interessen: • Netzwerke • Hardware • Cocktails • Hacking • Musik- und Lichttechnik
  3. 3. 3 Julian “mino” Docker ! Karlsruhe jklinck@ocedo.com # $ Docker: • Beruflich seit 2014 • SDN Cloud
  4. 4. 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
  5. 5. Software Deployment Vergangenheit und Jetzt &
  6. 6. 6 Docker ' Docker Das Problem
  7. 7. 7 Klassisch & Docker Hast du ein Backup davor gemacht? Server O/S Libraries Application Monolithisch
  8. 8. 8 Klassisch & Docker Wir brauchen da noch… Server O/S Libraries Application Application APP 0 APP 1
  9. 9. 9 Klassisch & Docker Wir brauchen da noch… Server O/S Libraries Application Libraries Application APP 0 APP 1
  10. 10. 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. 11. 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
  12. 12. VM vs. Container(
  13. 13. 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. 14. 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. 15. 15 Docker ) Docker Eine Applikation Applikation APP 0
  16. 16. 16 Docker ) Docker Mehr als eine Applikation Webserver APP 0 Webshop Code Datenbankserver Mailserver
  17. 17. 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. 18. 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. 19. 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
  20. 20. Basics' Dockerfile, Docker Daemon, Docker Hub
  21. 21. 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. 22. 22 Dockerfile ' Docker Die Baunaleitung
  23. 23. 23 Docker CLI ' Docker Das Werkzeug Quelle:
  24. 24. 24 Docker CLI ' Docker Das Werkzeug Quelle:
  25. 25. 25 Basis Komponenten ' Docker Docker Daemon • Root Prozess • Docker API Docker Hub • Webservice • Image Speicher • Public Registry/Repository
  26. 26. 26 Image & Container ' Docker Image • Name • Dockerfile step-by-step • Applikations Abbild Container • Name • Image als Basis • Runtime
  27. 27. 27 Docker Prozess ' Docker Quelle:
  28. 28. Container Format* Layers
  29. 29. 29 Layer * Docker Quelle: • Sub-Layers • Top-Layer Union Mount • Copy-On-Write
  30. 30. 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. 31. 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
  32. 32. Tools+ Compose, Swarm, Kitematic
  33. 33. 33 Compose + Docker Applikationen • Multiple Container • Abhängigkeiten Verwaltungswerkzeug • “docker-compose.yml” • Start, Stop, Rebuild… Quelle: Container Management
  34. 34. 34 Swarm + Docker Cluster • Multiple Docker Daemons • Verwaltung • Docker API kompatibel Docker Daemon Clustering Quelle:
  35. 35. 35 Kitematic + Docker Docker GUI + VM • Klicki-Bunti • Installer • VirtualBox • Minimal Docker OS • Suche im Docker Hub Docker für Mac / Windows Quelle:
  36. 36. Sicherheit, Angriffsvektoren
  37. 37. 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
  38. 38. Zukunft) LXD, Rocket, ClearLinux
  39. 39. 39 Zukunfsprojekte ) Docker Docker ist nicht der Weisheit letzter Schluss LXD
  40. 40. DANKE FÜR DIE AUFMERKSAMKEIT FRAGEN? -
  41. 41. ARCAMA VIEL SPASS AUF DER GPN15

×