Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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.871 Aufrufe

Veröffentlicht am

Introduction of Docker

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

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 …

×