Container und ihre Eroberung der Welt

~ Ein praktischer Einstieg ~

 

 

 

 

Fabian Deutsch, Hackerspace Bremen, 1. Dez 2015

Container? Anwedungsvirtualisierung

  • Eine geschlossene und eigenständige Einheit
  • Eine Anwendung mit all ihren Abhängikeiten
  • Bereitstellung eines Dienstes, erledigen eines Tasks
  • Keinen eigenen Kernel
  • Keine eigenen Treiber

Wo sind denn diese Container?

devops devops devops devops

  • Development + Operations
  • Software schneller und in besserer Qualität bereitstellen
  • Continuous Delivery (Train)
  • Container: Eigenständige Einheit zu bauen, testen, und einzusetzen

Docker?

  • Das Container-Tool (Buildtool & Laufzeit)
  • De-Facto Standard
  • All-In-One: Erzeugen und Benutzen
  • Technik: Alter Hut
    • cgroups
    • Kernel namespaces
    • SELinux

systemd-nspawn

  • Weitere Container Laufzeit
  • Teil von systemd
  • Wird von CoreOS verwendet
  • Weitere Container Laufzeit
  • Verwendet bestehendes aus Docker

rkt

  • Das nächste heiße Ding
  • Von CoreOS

$ docker search fedora

  • Durchsucht "die Registry"
  • Listet verfügbare Images
  • Zusätzlich: Rating, Official, Automated

 

Images werden zum Instanziieren von Containern verwendet.

 

Docker Hub: https://hub.docker.com/

$ docker run -it docker.io/fedora:22

  • Erzeugt einen Container von einem Image
    • Falls nicht vorhanden: Download des Images
  • docker run -it [<registry>/]<image>[:<tag>]
  • Tag: Debian:latest, Debian:sid, Debian:stable, …
  • Jeder weitere run (oder create) verwendet das gleiche Image

$ docker run -v /some/content:/usr/share/nginx/html:ro -d nginx

$ docker pull docker.io/fedora:22

  • Download des Images

$ docker ps

  • Zeigt all laufenden Container
  • `-a` um alle vorhandenen Container zu sehen

$ docker kill

$ docker build .

  • Erzeugt ein Image aus einem Dockerfile
  • Ähnlich eines bash-Scriptes

Dockerfile

FROM docker.io/fedora:22

MAINTAINER "Fabian Deutsch" <fabiand@hackerspace-bremen.de>

ENV container docker

RUN dnf install -y python

ADD index.html /root/index.html

EXPOSE 8000

WORKDIR /root
ENTRYPOINT ["/usr/bin/python", "-m", "SimpleHTTPServer"]

Weiteres …

Beware of Super Privileged Containers (SPC)

  • root der Container-Welt
  • docker run --cap-add=ALL --privileged …
  • Lässt die sonst klaren Grenzen zwischen Container und Host verschwimmen
  • Geht stark zu lasten der Portabilität
    • SPC wird optiomiert für {Ubuntu, Debian,Fedora}

Platformen:

Docker
CoreOS
Atomic

Manage!

Mesos, Kubernetes, …

  • Mesos
    • Distributed Task Scheduler
    • Tasks in einem Cluster ausführen
  • Kubernetes
    • High-Level view auf Container
    • Container werden in PODs zusammengefasst
    • High-Availability, Overlay Networking, …

end-los …

fabiand@fedoraproject.org

dummdida.tumblr.com

@dummdida

 

CC Share-Alike

(Docker) Container und ihre Eroberung der Welt - Ein praktischer Einstieg

By Fabian Deutsch

(Docker) Container und ihre Eroberung der Welt - Ein praktischer Einstieg

Container scheinen sich kaum von Virtualisierung zu unterscheiden und sie gar abzulösen. Doch ist es so? Und was sind Container überhaupt? Fakt ist das Container einen Schlüsselfaktor bei großen Unternehmen wie Google, Netflix und Dropbox darstellen, um Dienste anzubieten. Das Ziel der Veranstaltung ist es, erste praktische Schritte mit Containern (auf Basis von Docker) durchzuführen und einen kleine Überblick über Container-Management und ihre Einsatzszenarien zu erhalten.

  • 4,261