Docker
Presentation by Patrick Oberdorf
Who am I?
• Name: Patrick Oberdorf
• Age: 23 (06.09.1991)
• City: Dortmund
• Company: raphael GmbH
• Position: head of ser...
Who is using it or similar
technology?
What is „Docker“?
• Docker != virtual machines
• Docker = OS-level
• Container and host share a kernel
• In short: improve...
• Useful for servers and development environments
• Idea itself isn't new (FreeBSD jail - 1998)
• Docker makes it just easy
source: http://en.wikipedia.org/wiki/Docker_(software)
Docker Hub
• Repository for Images
• Images are versioned
• Changes of Images are stored like a „git commit“
• Many images...
Dockerfile
• Instruction how to build the image
• Very easy (just normal „shell“ commands)
• Extend an existing Image
Linking
• Container linking
• IP linking (entry in hosts-file)
• Volumes linking (through aufs-filesystem)
Host Container
random port
Filesystem Filesystemaufs
Host Container
random port
Filesystem Filesystem
aufs
Container
Filesystem
port
aufs
Host Apache/PHP
port 80
Filesystem Filesystem
/var/www
MySQL
Filesystem
db:3306
/var/lib/mysql
Host Apache/PHP
port 80
Filesystem Filesystem
/var/www
MySQL
Filesystem
db:3306
/var/lib/mysql
domain.tld:80 Host
proxy
Apache
MySQL
domain.tld:4554
domain.tld:80
Host
proxy
Apache
MySQL
dom
ain.tld:4554
Apache
MySQL
test.tld:80
test.tld:4555
Persistent Data
• 2 ways to store persistent data
• Through aufs on the host (good)
• Through volumes linking from a data-...
Why data-only-container?
• Define "storing data" as an application and not
guess the host is able to do it
• Not every hos...
How to define a data-only-
container
• Just expose mountpoints with "VOLUME" in the
Dockerfile
• Data-only-container doesn...
Advantages
• Dependencies hassle-free
• Easy deployment
• Security -> „chroot“
• Limit ressources (CPU, RAM, …)
• Easy mon...
Disadvantages
• Needs a deployment system
• System updates
• Persistent data
• Readjust the workflow
• No ssh into the mac...
Docker
Nächste SlideShare
Wird geladen in …5
×

Docker

10.416 Aufrufe

Veröffentlicht am

Introduction of Docker

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

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
10.416
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7.012
Aktionen
Geteilt
0
Downloads
8
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Docker

  1. 1. Docker Presentation by Patrick Oberdorf
  2. 2. Who am I? • Name: Patrick Oberdorf • Age: 23 (06.09.1991) • City: Dortmund • Company: raphael GmbH • Position: head of server administration
  3. 3. Who is using it or similar technology?
  4. 4. What is „Docker“? • Docker != virtual machines • Docker = OS-level • Container and host share a kernel • In short: improved chroot • Available for Linux, Mac (boot2docker), Windows (in the near future)
  5. 5. • Useful for servers and development environments • Idea itself isn't new (FreeBSD jail - 1998) • Docker makes it just easy
  6. 6. source: http://en.wikipedia.org/wiki/Docker_(software)
  7. 7. Docker Hub • Repository for Images • Images are versioned • Changes of Images are stored like a „git commit“ • Many images for „mysql, php, apache, nginx, gitlab, jenkins, …“
  8. 8. Dockerfile • Instruction how to build the image • Very easy (just normal „shell“ commands) • Extend an existing Image
  9. 9. Linking • Container linking • IP linking (entry in hosts-file) • Volumes linking (through aufs-filesystem)
  10. 10. Host Container random port Filesystem Filesystemaufs
  11. 11. Host Container random port Filesystem Filesystem aufs Container Filesystem port aufs
  12. 12. Host Apache/PHP port 80 Filesystem Filesystem /var/www MySQL Filesystem db:3306 /var/lib/mysql
  13. 13. Host Apache/PHP port 80 Filesystem Filesystem /var/www MySQL Filesystem db:3306 /var/lib/mysql
  14. 14. domain.tld:80 Host proxy Apache MySQL domain.tld:4554
  15. 15. domain.tld:80 Host proxy Apache MySQL dom ain.tld:4554 Apache MySQL test.tld:80 test.tld:4555
  16. 16. Persistent Data • 2 ways to store persistent data • Through aufs on the host (good) • Through volumes linking from a data-only-container (better)
  17. 17. Why data-only-container? • Define "storing data" as an application and not guess the host is able to do it • Not every host is able to store the data in a way you need it (Windows a-z == A-Z)
  18. 18. How to define a data-only- container • Just expose mountpoints with "VOLUME" in the Dockerfile • Data-only-container doesn't need to be running, they just need to exist • Ofc: care about backups
  19. 19. Advantages • Dependencies hassle-free • Easy deployment • Security -> „chroot“ • Limit ressources (CPU, RAM, …) • Easy monitoring (`docker stats` >=1.5) • Write once, run anywhere
  20. 20. Disadvantages • Needs a deployment system • System updates • Persistent data • Readjust the workflow • No ssh into the machine …

×