31
Docker: Applikationskontainer f¨ ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant [email protected] linsenraum.de 13.05.2014 Erkan Yanar Senior Consultant [email protected] Docker: Applikationskontainer f¨ ur Jedermann SLAC 2014 13.05.2014 1 / 24

Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant [email protected] linsenraum.de

Embed Size (px)

Citation preview

Page 1: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker: Applikationskontainer fur JedermannSLAC 2014

Erkan YanarSenior Consultant

[email protected]

13.05.2014

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 1 / 24

Page 2: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Who Am I? Doings

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 2 / 24

Page 3: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Who Am I? Conferences

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 2 / 24

Page 4: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Who Am I? Publications

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 2 / 24

Page 5: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker kurze Einfuhrung

Los los los!

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 3 / 24

Page 6: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker kurze Einfuhrung

Docker

create lightweight,

portable,

self-sufficient

containers

from any application

Written in Go

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 4 / 24

Page 7: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker kurze Einfuhrung

History

dotcloud → docker.inc

Marz 2013

Hipster

15.000.000 Dollar

Redhat

Ebay, Spotify, Baidu

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 5 / 24

Page 8: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker kurze Einfuhrung

History

dotcloud → docker.inc

Marz 2013

Hipster

15.000.000 Dollar

Redhat

Ebay, Spotify, Baidu

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 5 / 24

Page 9: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker kurze Einfuhrung

Docker Idee: Nutze

Container (Wrapper fur LXC)

Aufs, BTRFS, Devicemapper

Makefiles fur Images/Container

Zentraler Imageserver

Applikationcontainer

portabel

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 6 / 24

Page 10: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Docker kurze Einfuhrung

Docker Idee: Nutze

Container (Wrapper fur LXC)

Aufs, BTRFS, Devicemapper

Makefiles fur Images/Container

Zentraler Imageserver

Applikationcontainer

portabel

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 6 / 24

Page 11: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Hyperviser vs. Container

Warum Container?!

Container

vs.

Hypervisor

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 7 / 24

Page 12: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Hyperviser vs. Container

Hypervisor: Bios Container: chroot + /sbin/init

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 8 / 24

Page 13: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Hyperviser vs. Container

Containertechnologien

OpenVZ, VServer

LXC(@libvirt)

Docker

systemd

Container: Die bessere Wahl?

Vanilla Kernel

Weniger Overhead

Hohere Dichte

Weniger Machtig

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 9 / 24

Page 14: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Hyperviser vs. Container

Container

Container sind schnell

Was sind Applikationscontainer?

Docker first steps

First there was LXCNamespaces. . .

Zeigen

Applikationen mit LXC (Einfaches Begreifen)

Mit Docker

Bis zu Ports

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 10 / 24

Page 15: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Hyperviser vs. Container

Vorteile von Applikationscontainer (Dockerstyle)

Noch weniger Overhead

Keine Konflikte

portable,self-sufficient

Portabler Applikationscontainer

Keine Annahme uber die Infrastruktur

→ keine IP verwenden

Portforwarding

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 11 / 24

Page 16: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Hyperviser vs. Container

Sparsame Containerund

gestackte ImagesVom Unterschied von Image und Container

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 12 / 24

Page 17: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Container und Image Layer

Container Layer

Container startet vomImage

Image ist ro

Writes werden separatgespeichert

Aufs, BTRFS, devmapper(lvm)

Vorteile

Platzersparnis

Geschwindigkeit

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 13 / 24

Page 18: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Container und Image Layer

Image Layer

Images von Images

Nur Deltas

Gestackte Images

Wirkt wie - ist nicht - git

Vorteile

Platzersparnis

Verteilen der Images

Repositories

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 14 / 24

Page 19: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Quelle: iX 4/2014

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 15 / 24

Page 20: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Images zentral verwalten

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 16 / 24

Page 21: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Repository

Einfacher Austausch

Nur Deltas

Dockerfile

index.docker.io

Private Repository

docker search

docker pull

docker push

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 17 / 24

Page 22: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Images(Applikationscontainer) bauen

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 18 / 24

Page 23: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Dockerfile

Image Makefiles

Wie Binaries

Dockerfile

FROM ubuntu:12.04

MAINTAINER [email protected]

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update

RUN apt-get install -y mysql-server

PORT 3306

USER mysql

ADD mysql /etc/mysql

ENTRYPOINT ["mysqld"]

docker build -t $mytag .

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 19 / 24

Page 24: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Container und Image Layer

Reusing Layers (Dockerfile)

docker images -viz | dot -Tpng > /tmp/layer.png

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 20 / 24

Page 25: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Docker ist mehr als Virtualisiurung

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 21 / 24

Page 26: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Neues Denken

Golden Image

Service Discovery

Volume Management

Doch nicht alleApplikationen?!

Return of the Golden Image

Configurationmanagement?

Einfaches Rollback

links

SkyDNS/skydock

Hipache

Limits?

docker events ZEIGEN

. . .

Daten werden nicht imContainer persistiert

Externes Volumemanagement

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 22 / 24

Page 27: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Neues Denken

Golden Image

Service Discovery

Volume Management

Doch nicht alleApplikationen?!

Return of the Golden Image

Configurationmanagement?

Einfaches Rollback

links

SkyDNS/skydock

Hipache

Limits?

docker events ZEIGEN

. . .

Daten werden nicht imContainer persistiert

Externes Volumemanagement

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 22 / 24

Page 28: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Neues Denken

Golden Image

Service Discovery

Volume Management

Doch nicht alleApplikationen?!

Return of the Golden Image

Configurationmanagement?

Einfaches Rollback

links

SkyDNS/skydock

Hipache

Limits?

docker events ZEIGEN

. . .

Daten werden nicht imContainer persistiert

Externes Volumemanagement

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 22 / 24

Page 29: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Neues Denken

Golden Image

Service Discovery

Volume Management

Doch nicht alleApplikationen?!

Return of the Golden Image

Configurationmanagement?

Einfaches Rollback

links

SkyDNS/skydock

Hipache

Limits?

docker events ZEIGEN

. . .

Daten werden nicht imContainer persistiert

Externes Volumemanagement

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 22 / 24

Page 30: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Das wars

Docker

Applikationscontainer

Layer

Repositories

Neue Art Infrastruktur zu denken/machen

. . .

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 23 / 24

Page 31: Docker: Applikationskontainer für Jedermann SLAC 2014 · Docker: Applikationskontainer f ur Jedermann SLAC 2014 Erkan Yanar Senior Consultant erkan.yanar@linsenraum.de linsenraum.de

Neues Denken

Vielen DankVisitenkarten vergessen.

Xing, G+, LinkedIn exists.

Erkan Yanar Senior Consultant [email protected] linsenraum.deDocker: Applikationskontainer fur Jedermann SLAC 2014 13.05.2014 24 / 24