20
Introducing Docker Dharmit Shah

Introducing docker

Embed Size (px)

Citation preview

Introducing Docker

Dharmit Shah

Who am I?

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

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

Thank You!