Date post: | 17-Aug-2015 |
Category: |
Technology |
Upload: | dharmit-shah |
View: | 64 times |
Download: | 1 times |
Talk➔ What is a linux container?➔ What is Docker?➔ Traditional virtualization vs. container virtualization➔ Who is it for?➔ Why Docker?➔ Analogy with traditional virtualization
Agenda
Demo➔ Install Docker➔ Pull a Docker image➔ Create a container➔ Create your own image
What is a linux container?
➔ chroot on steroids.
➔ Isolated user space instances.
➔ Look and feel like a real server from the point of view of its owners and users.
➔ Resource and network isolation provided by cgroups.
➔ LXC and libcontainer
➔ Analogy behind the idea...
What is Docker?
➔ Platform for developers and sysadmins to build, ship, and run distributed applications.
➔ Tool to speedily create and run containers.
➔ Create and ship images in a jiffy!
➔ Automates deployment of applications inside Linux containers.
➔ Eliminates friction between dev, QE/QA and prod!
Traditional virtualization vs. container virtualization (contd.)
Traditional
➔ Apps, binaries and libraries - approx a few MBs
➔ Entire guest OS - a few GBs
Containers
➔ Application and its dependencies
➔ Runs isolated in user space only!
➔ Containers share kernel with the host
Benefits to Developers
➔ Build apps in any language using existing tools
➔ Dockerize the app and run it safely anywhere
➔ Where anywhere is:
1. Colleague’s OS X system
2. QA systems running Ubuntu in the cloud
3. Production systems running Red Hat Enterprise Linux
Benefits to SysAdmins
➔ Can provide standardized environments for dev, QA and prod teams.
➔ No more “Works for me” excuse.
➔ Freedom to deploy workloads on any of the following:
1. On-premise bare metal
2. Data center VMs
3. Public clouds
➔ Run a lot more containers than VMs.
Why Docker?
➔ Encapsulate any payload and its dependencies
➔ Works on VMs, bare metal, OpenStack without any modification
➔ Standard operations to start, run, stop, etc.
➔ Light weight
➔ Supported by numerous major companies - Red Hat, Google, Canonical, Microsoft, etc.
Analogy with Traditional Virtualization
Traditional Virtualization (KVM)
➔ libvirt
➔ Distro iso
➔ Virtual machine
Container Virtualization
➔ libcontainer/LXC
➔ Docker images
➔ Containers
Contribute!
➔ https://github.com/docker/docker
➔ http://docker.com
➔ Docker Google Groups
➔ Docker on StackOverflow
➔ #docker & #docker-dev on freenode
Content & Image References
➔ http://en.wikipedia.org➔ http://docker.com➔ http://www.slideshare.net/dotCloud/why-docker➔ http://redhat.com➔ http://auberginesolutions.com