Eine Einführung in Docker

Post on 27-Jul-2015

529 views 5 download

Tags:

transcript

Eine Einführung in DockerDevOps Conference – 01.06.2015

Matthias Lübken the product guy @luebken

Giant Swarm

• Simple way to get your containers running • Currently in alpha • Looking for feedback

https://giantswarm.io/request-invite/

Agenda

• App container

• Container technologies

• And Docker?

• Docker concepts

• Demo

Why are we so excited?

#1 Speed

#2 Portability

#3 Building block

App container?

Docker is an open platform for developers and sysadmins of distributed applications.”

Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application.”

Cloud architectures

Reactive ManifestoMicroservices

App containers!

Technologies

Operating-system-level virtualization

Control Groups•A unified interface for controlling processes

•Resource limitation

•Priorization

•Accounting

•Controling

•CPU Time, System memory, Disk bandwidth, Network bandwidth, Monitoring

Namespaces

•Provide varying views on the system

•To provide isolated environments

•6 Namespaces: PID, NET, IPC, MNT, UTS, User

LXC

• Leverages Kernel features: namepaces & cgroups

• User-land tools: lxc-create, lxc-start, lxc-info

• Docker used to use LXC

Union Filesystem• Files and directories of separate file

systems

• Transparently overlaid

• Forming a single coherent file system.

• Copy-on-write

• Different options AuFS, Btrfs, OverlayFS, DeviceMapper

What does Docker add?

packaging & distribution

simple interface

Docker adds

Docker concepts

Images

Ubuntu

Kernel

Redis

my lib

parent image

Container

Ubuntu

Kernel

Redis

my lib

my app

Architecture

Docker Client$  docker  build

$  docker  run

$  docker  push

Docker Daemon

Container A

Container B

Container C

Client Host…

Architecture

Docker Client$  docker  build

$  docker  run

$  docker  push

Docker Daemon

Container A

Container B

Container C

Client Host

Image ‘

Image ‘’

Image ‘’’

Registry

$  docker  push

$  docker  pull

……

On my Mac

Docker Client$  docker  build

$  docker  run

$  docker  push

Docker Daemon

Container A

Container B

Container C

Client Host

Image ‘

Image ‘’

Image ‘’’

Registry

$  docker  push

$  docker  pull

hub.docker.com

……

Demo

https://gist.github.com/luebken/327eac541f939e2202a2

dockerbook.com

So should I start with Docker?

YES

Containers are 1% of your problem”“

Kelsey Hightower, CoreOs

Request an invite at https://giantswarm.io

Matthias Lübken the product guy @luebken

Giant Swarm

• Simple way to get your containers running • Currently in alpha • Looking for feedback

https://giantswarm.io/request-invite/