Commit 15631b64 authored by Axel Dürkop's avatar Axel Dürkop

Updates for TUHH

parent 9cd47c12
---
theme: sky
title: "Docker in Darmstadt"
title: "Anwendungsvirtualisierung mit Docker"
custom_css: assets/css/PITCHME.css
---
## Anwendungsvirtualisierung mit Docker
Axel Dürkop | Andreas Böttger
Institut für Technische Bildung & Hochschuldidaktik (ITBH),<br>TU Hamburg
Institut für Technische Bildung & Hochschuldidaktik (ITBH), TU Hamburg
---
## Vorstellungsrunde und Erwartungen an die Schulung
## Gemeinsames Etherpad
---
https://pads.rz.tuhh.de/p/2019-05-07-Docker-TUHH
## Gemeinsames Etherpad
---
https://pads.rz.tuhh.de/p/2018-10-30-Docker-in-Darmstadt
## Vorstellungsrunde und Erwartungen an die Schulung
---
......@@ -29,7 +28,7 @@ https://pads.rz.tuhh.de/p/2018-10-30-Docker-in-Darmstadt
- Container sind Eintagsfliegen
- Daten im Container überleben den Container nicht
---
----
## Docker an der TU Hamburg
......@@ -39,53 +38,6 @@ https://pads.rz.tuhh.de/p/2018-10-30-Docker-in-Darmstadt
---
## Docker installieren
Einfache Installation für alle OS unter
https://store.docker.com/search?type=edition&offering=community
Arbeiten im Terminal
+++
Docker auf Windows 7
https://www.smarthomebeginner.com/install-docker-on-windows-7-8-10/
Kann klappen, muss aber nicht. Besser mit Windows 10
Arbeiten in der Powershell
+++
Docker auf einem Raspberry Pi installieren
- [Hypriot](blog.hypriot.com) als SD-Image verwenden
- Wichtig: Der Raspberry basiert auf einer ARM-Architektur, daher müssen die Images auch für ARM sein
+++
Docker auf *[Digital Ocean](http://digitalocean.com/)*
- Account erstellen
- Droplet erstellen mit Docker in der neusten Version
- auch möglich: [*Docker Machine*](https://docs.docker.com/machine/overview/) mit Anbindung an die API von *Digital Ocean*
- Administrieren über SSH
+++
## Docker ohne `sudo` verwenden
- Nur für Linux-Systeme
- Hinzufügen des Anwenders zur `docker`-Gruppe
```bash
usermod -aG docker $USER
```
---
## Fremde Images verwenden
[Beispiel 1: Hello World!](https://hub.docker.com/_/hello-world/)
......@@ -94,15 +46,15 @@ usermod -aG docker $USER
docker run hello-world
```
+++
----
[Beispiel 2: Ghost (Blogengine)](https://hub.docker.com/_/ghost/)
```bash
docker run --rm --name ovm-ghost -p 8000:2368 ghost
docker run --rm --name ovm-ghost -p 2368:2368 ghost
```
+++
----
[Beispiel 3: Panama Papers](https://neo4j.com/blog/panama-papers-graph-database-download/)
......@@ -124,11 +76,9 @@ docker help
docker COMMAND --help
```
+++
----
### Übersicht der …
… laufenden Container
### Übersicht der laufenden Container
```bash
docker ps
......@@ -136,7 +86,7 @@ CONTAINER ID IMAGE COMMAND CREATED STA
b8897a7768c6 knsit/gitpitch "/gitpitch/bin/run..." About an hour ago Up About an hour 0.0.0.0:9000->9000/tcp gitpitch
```
+++
----
… laufenden und gestoppten Container
......@@ -149,7 +99,7 @@ b8897a7768c6 knsit/gitpitch "/gitpitch/bin/run..." About an hour ago Up
76e3d7c4ecc3 postgres:9.6.2 "docker-entrypoint..." 6 weeks ago Exited (0) 6 weeks ago dspace_postgres_1
```
+++
----
### STATUS `Exited`
......@@ -165,7 +115,7 @@ Automatisches Löschen des Containers *mit* der Option `--rm`
docker run --rm
```
+++
----
### Löschen
......@@ -175,7 +125,7 @@ Einzeln per Name …
docker rm gitpitch_gitpitch_1
```
+++
----
… oder per ID
......@@ -183,7 +133,7 @@ docker rm gitpitch_gitpitch_1
docker rm 3a5452539747
```
+++
----
Alle gestoppten Container löschen
......@@ -191,7 +141,7 @@ Alle gestoppten Container löschen
docker container prune
```
+++
----
### Prozesse im Container
......@@ -199,7 +149,7 @@ docker container prune
docker top CONTAINER
```
+++
----
### Log-Meldunden eines Container
......@@ -211,14 +161,15 @@ Dazu muss normalerweise das Logverhalten der Prozesse angepasst werden
docker logs CONTAINER
```
+++
----
### In einen Container einloggen
```bash
docker exec -t -i meincontainer /bin/bash
```
+++
----
### Low-Level Informationen
......@@ -227,8 +178,8 @@ Low-Level-Informationen zu Docker-Objekten
```bash
docker inspect DOCKER_OBJECT_(NAME|ID)
```
---
---
## Eigene Images bauen
......@@ -246,7 +197,7 @@ Erstellen des Images
docker build -t meinimage .
```
+++
----
### Komplettes Beispiel
......@@ -279,13 +230,13 @@ docker run --link anderer_container
Nur empfehlenswert, wenn man nicht mit `docker-compose` arbeiten will
+++
----
`docker-compose` vermeidet unlesbare Kommandos
Konfiguration in einer Datei `docker-compose.yml`
+++
----
`depends_on` verbindet Container miteinander
......@@ -308,15 +259,55 @@ services:
---
## Container upgraden?
- Container werden niemals aktualisiert (immutable)
- Images und/oder deren Bauplan (`Dockerfile`) wird aktualisiert
- Container werden auf Basis aktueller Images (neu) gestartet
- Herausforderung ist es, eine Aktualisierungsnotwendigkeit zu erkennen
## Docker installieren
Einfache Installation für alle OS unter
https://store.docker.com/search?type=edition&offering=community
Arbeiten im Terminal
----
Docker auf Windows 7
https://www.smarthomebeginner.com/install-docker-on-windows-7-8-10/
Kann klappen, muss aber nicht. Besser mit Windows 10
Arbeiten in der Powershell
----
Docker auf einem Raspberry Pi installieren
- [Hypriot](blog.hypriot.com) als SD-Image verwenden
- Wichtig: Der Raspberry basiert auf einer ARM-Architektur, daher müssen die Images auch für ARM sein
----
Docker auf *[Digital Ocean](http://digitalocean.com/)*
- Account erstellen
- Droplet erstellen mit Docker in der neusten Version
- auch möglich: [*Docker Machine*](https://docs.docker.com/machine/overview/) mit Anbindung an die API von *Digital Ocean*
- Administrieren über SSH
----
## Docker ohne `sudo` verwenden
- Nur für Linux-Systeme
- Hinzufügen des Anwenders zur `docker`-Gruppe
```bash
usermod -aG docker $USER
```
---
## Images veröffentlichen
[Docker Hub Account anlegen](https://hub.docker.com/)
......@@ -359,6 +350,15 @@ docker image prune
---
## Container upgraden?
- Container werden niemals aktualisiert (immutable)
- Images und/oder deren Bauplan (`Dockerfile`) wird aktualisiert
- Container werden auf Basis aktueller Images (neu) gestartet
- Herausforderung ist es, eine Aktualisierungsnotwendigkeit zu erkennen
---
## Diskussion
- Welche Potenziale sehen Sie in Docker für den Unterricht?
......@@ -371,13 +371,13 @@ Nutzen Sie gern das Etherpad, um eigene Ideen zu formulieren.
## Quellen und Links
+++
----
### Bücher
- Goasguen, S. (2015). Docker Cookbook: Solutions and Examples for Building Distributed Applications. Sebastopol, CA: O’Reilly.
+++
----
### Docker
......@@ -385,7 +385,7 @@ Nutzen Sie gern das Etherpad, um eigene Ideen zu formulieren.
- [Docker Cheat Sheet](https://github.com/wsargent/docker-cheat-sheet)
- https://portainer.io
+++
----
### Panama Papers
......@@ -400,7 +400,8 @@ Axel Dürkop: <axel.duerkop@tuhh.de>
Andreas Böttger: <andreas.boettger@tuhh.de>
Repo dieser Präsentation: https://collaborating.tuhh.de/transferworkshops/docker-schulung
[Repo dieser Präsentation](https://collaborating.tuhh.de/transferworkshops/app_virtualization_with_docker/)
---
......
......@@ -30,3 +30,7 @@ body {
.reveal code {
font-size: 0.9em;
}
.reveal code span.line {
color: #000 !important;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment