docker crash kurs 2018-09 - pflaeging.net · 2018-09-26-v1 docker crash kurs 1 luga wien september...

13
2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

Upload: dodung

Post on 07-Aug-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Docker Crash Kurs

�1

LUGA Wien September 2018

Peter Pfläging pflaeging.net

[email protected]

Page 2: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

VorwortÜber mich: Peter Pfläging

IT-Architect

Fotograf

Musiker

System Programmer

Cloud Services (https://www.stickiebox.org)

Das ist ein Workshop!

Mitarbeit erwünscht

Variabler Inhalt

�2

Page 3: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

AgendaWas ist eigentlich Docker?

Vorteile / Nachteile

Schnellstart in die Docker Welt

Prinzipien

Tools

Höherwertige Dienste

�3

Page 4: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Was ist eigentlich Docker?

Container in Linux / Windows / OSX

Keine Virtualisierung!

Container sind klein und atomar:

EIN Service ergibt EINEN Container

Build

From Source

Layered

Secure by design

Basiert auf CGroups / Namespaces

�4

Page 5: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Inhalt:

„Mini“ Linux

Eine Applikation

Pakete

Abgrenzung:

Eigenes virtuelles Filesystem

Eigene Netzwerkkonfiguration / virt.

Nur dedizierte Ports zugänglich

Container laufen überall ( i386 / x86_64 / arm / ...)

Aussehen immer gleich ( Develop / Operation)

�5

Page 6: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

VorteileIsolation von Applikationen

Ohne Virtualisierungsoverhead

Einheitliche Pakete über alle Linuxe ;-)

Security

Separation & Isolation

Gleiche Environments von

Dev -> Test -> QM -> Production

Schnelle Update möglich

�6

Page 7: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

NachteileNeues Paradigma

KEINE Virtualisierung

Ideal nur bei „neueren“ Applikationen

Deklarative Umgebungen sind aufwändiger

Architekturelles Umdenken beim Aufbau der Strukturen und Appl. notwendig

�7

Page 8: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Schnellstart in die Docker Welt

Installation auf allen Systemen parallel möglich

Empfohlen: CentOS minimal

ACHTUNG: Firewalld / SELinux!

�8

Page 9: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Installation „Docker CE“

https://docs.docker.com/install/linux/docker-ce/centos/

Wir starten das Zeugs

Kurzüberblick Commandline

docker ps

docker version

docker images

docker start / restart / stop / logs

�9

Page 10: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

PrinzipienEin Container basiert auf einem Image

Immer nur eine Applikation im Container

Images bestehen aus Images (Layer)

Ein Container kann jederzeit entsorgt werden

Auf Persistenz achten!

Sicherheit!

Container haben virtuelle Netze zwischen und mit dem Host

eigenes DNS

eigenes DHCP

�10

Page 11: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

ToolsDocker-compose

Einfachste Art mehrere Container zu verbinden und zu koppeln

https://docs.docker.com/compose/

Docker bash_completion rules

CentOS: yum install bash-completion bash-completion-extra

Portainer als Web-GUI für lokalen Docker

https://portainer.io

Services selbst erstellen mit:

Dockerfiles (z.B.: https://github.com/pflaeging/django-docker)

�11

Page 12: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Docker Registry

https://hub.docker.com

Oder Eigene!

Beispiel: docker run -p 18080:8000 --name django pflaeging/django-docker:0.6.4

�12

Page 13: Docker Crash Kurs 2018-09 - pflaeging.net · 2018-09-26-v1 Docker Crash Kurs 1 LUGA Wien September 2018 Peter Pfläging pflaeging.net peter@pflaeging.net

2018-09-26-v1

Höherwertige Dienste1. Docker

2.Portainer

3.Docker-Compose / Docker-Swarm

4.Rancher / Mesa

5.Kubernetes

6.OpenShift

�13