docker presentation

36
July 14, 2014 Kaushal Kishore [ [email protected] ] Sr. Sofware Engineer [OSSCube]

Upload: adhoura-academy

Post on 15-Jan-2015

227 views

Category:

Education


6 download

DESCRIPTION

Docker Presentation

TRANSCRIPT

Page 1: Docker Presentation

July 14, 2014

Kaushal Kishore [ [email protected] ]

Sr. Sofware Engineer [OSSCube]

Page 2: Docker Presentation

Quick Survey

Page 3: Docker Presentation

2

Quick Survey

• How many people have heard of Docker before this Meetup ?• How many people have tried Docker ?• How many people are using Docker in production ?

Page 4: Docker Presentation

What is Docker

?

Page 5: Docker Presentation

2

What is Docker ?

“Docker is an open-source engine to easily create

lightweight, portable, self-sufficient containers

from any application. The same container that a

developer builds and test on a laptop can run at

scale, in production, on VMs, OpenStack cluster,

public clouds and more.”

Page 6: Docker Presentation

2

Origin of Docker

• Docker is a rewrite of similar code that currently powers the

dotCloud PaaS

• Original version written in Python (like dotCloud PaaS), now

written in Go

• It’s a young project , but with a huge community.

Page 7: Docker Presentation

Why Containers ?

Page 8: Docker Presentation

2

Cargo Transport Pre - 1960

Page 9: Docker Presentation

2

Intermodal Shipping Container

Page 10: Docker Presentation

2

Docker is a Code Shipping Container

Page 11: Docker Presentation

build once,

run anywhere

Page 12: Docker Presentation

configure once, run

anything

Page 13: Docker Presentation

2

Why Container ?

• Speed: Boots in seconds

• Footprint: 100-1000 containers on one machine. Small disk

requirements

Page 14: Docker Presentation

2

What is Container ?

“Containers are to Virtual Machines as

threads are to processes.”

Page 15: Docker Presentation

2

What is container in docker?

• LinuX Containers (LXC

• Kernel namespaces (ipc, uts, mount, pid, network and user)

• Chroots (using pivot_root)

• Apparmor and SELinux profiles

• Kernel capabilities

• Control groups (cgroups)

• AUFS or replacement in 0.7 version and later

Page 16: Docker Presentation

2

LinuX Containers (LCX)

• Let’s your run a Linux system within another Linux system

• A container is a group of processes on a Linux box, put together

is an isolated environment

• From the inside, it looks like a VM

• From the outside, it looks like normal processes

Page 17: Docker Presentation

2

Docker Engine

Page 18: Docker Presentation

2

Docker Vs Virtual Machine

Page 19: Docker Presentation

2

In the first 6 months

• 6000+ Github stars

• 150+ Contributors

• 50,000+ docker index pull

• 100’s of projects built on top of Docker

– UIs (DockerUI, Shipyard, Dockland...)

– Open Source PaaS (DEIS, Flynn, Dokku...)

– Continuous Deployment (Strider...)

• 1700’s Dockerized applications on Github

Page 20: Docker Presentation

2

Installations of Docker

“We can Install Docker on the listed platforms”

Page 21: Docker Presentation

2

Installations : Ubuntu Linux

Page 22: Docker Presentation

2

Installations : Binaries

Page 23: Docker Presentation

2

Installations : Vagrant

Page 24: Docker Presentation

Basic Examples/Commands

Page 25: Docker Presentation

2

Basic Commands

Page 26: Docker Presentation

2

Classic: “Hello World”

Page 27: Docker Presentation

2

Detached mode

Page 28: Docker Presentation

2

Containers Vs Images

Page 29: Docker Presentation

2

Containers Vs Images

Page 30: Docker Presentation

2

Public Index & Network

Page 31: Docker Presentation

2

Creating your 1st app: “The interactive way”

Page 32: Docker Presentation

2

Creating your 1st app: “The boring way ”

Page 33: Docker Presentation

2

Container Lifecycle

• docker run - creates a container.

• docker stop - stops it.

• docker start - will start it again.

• docker restart - restarts a container.

• docker rm - deletes a container.

• docker attach - will connect to a running container.

• docker wait - blocks until container stops.

Page 34: Docker Presentation

2

Container Info

• docker ps - shows running containers.

• docker ps -a - shows running and stopped containers.

• docker inspect - looks at all the info on a container (including IP

address).

• docker logs - gets logs from container.

• docker events - gets events from container.

• docker port - shows public facing port of container.

• docker top - shows running processes in container.

Page 35: Docker Presentation

Questions ?

Page 36: Docker Presentation

Thank you!Email : [email protected]