Upload
jochen-zehnder
View
442
Download
0
Embed Size (px)
Citation preview
What is Docker and why is it so hot?
6th Docker Switzerland User Group Meetup
Who am I?• Jochen Zehnder
• elft3r (GitHub / Twitter / Docker Hub / …)
• Software Developer @netIT-Services
• Automation of Datacenter Processes (a.k.a. Private Cloud)
• previously: SAP Systems
• currently: Oracle DBs
• Docker enthusiast
• since v0.6
• Co-Organizer Docker Switzerland Meetup
What / Who is Docker?
Docker Inc.• The Company that started the ‘hype’
• previously called dotCloud
• open sourced docker code base in March 2013
• 23.03: Docker Birthday Celebration in Zurich
• ‘Build, Ship and Run any App, Anywhere’
Photo Caption (Drag&drop a new photo onto photo to change)
7
PROGRAMMING
What is the biggest innovation multiplier today?
Photo Caption (Drag&drop a new photo onto photo to change)
Billions of creative people Incredible technology
4
Photo Caption (Drag&drop a new photo onto photo to change)
Mass innovation
5
(Docker) Containers
What are Containers?
https://www.docker.com/what-docker
What are Containers?• Collection of kernel features
• OS specific
• Linux: “chroot on steroids” - Jérôme Petazzoni
• namespaces
• cgroups
• (copy-on-write storage)
Container Runtimes• Docker Engine
• uses libcontainer (future runC)
• Docker Images
• rkt (by CoreOS)
• Docker Images
• App Container Images (appc)https://github.com/coreos/rkt/blob/master/Documentation/rkt-vs-other-projects.md
Image
• Standardised Unit
• read-only filesystem containing relevant binaries / libraries / …
• some configuration information
https://www.docker.com/what-docker
Docker Toolbox
Photo Caption (Drag&drop a new photo onto photo to change)
3
Our mission is to build
tools of mass innovation
Docker Toolbox• Docker Engine
• Docker Machine
• Docker Compose
• Docker Swarm
• Docker Registry
• Kitematic
Docker Toolbox• Docker Registry
• Application to store and distribute Docker Images
• e.g. Docker Hub a public Registry
• Kitematic
• Desktop GUI to manage Docker Containers
• Supports OS X, Windows and Linux
Docker Engine
• Core of the Docker Platform
• Build, Pull, Push, … Images
• Create, Update, Delete, … containers
• Manage networks, volumes, …
Docker Engine
https://docs.docker.com/engine/understanding-docker/
Docker Machine• Provisioning of Docker Engines
• VirtualBox
• Amazon EC2
• DigitalOcean
• …
• Configuration of Docker client
Docker Compose
• Define multi-container applications
• uses ‘docker-compose.yml’ files
• describe each container
Docker Swarm
• Cluster support for Docker
• Groups multiple Docker Engines into a single, virtual Docker Engine
• Scaling out / in of applications
Demo
Voting Appvoting-app
redis
worker
db
result-app
https://github.com/docker/example-voting-app
Demo
20
Linux namespaces
Mount
PID
IPC
User
UTS
Wireshark
Net
Mount
PID
IPC
User
UTS
Net
App
Mount
PID
IPC
User
UTS
VNC
Net
/tmp/.X11-unix/
listen *:5901
Links• http://www.slideshare.net/Docker/dockercon-eu-
day-1-general-session
• http://www.slideshare.net/Docker/the-latest-on-docker-engine-55435952/19
• http://www.slideshare.net/Docker/cgroups-namespaces-and-beyond-what-are-containers-made-from