Modul 169 - Git / Docker Images

Git / Docker Images

Modul 169

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Inhalt

  • Repetition

  • Modul 169 VM

  • Git

    • Grundlagen
    • Installieren
    • Konfigurieren
    • SSH-Key
  • Docker Image
    Schichtenarchitektur / Eigenschaften / Bilden eines Image

  • Dockerfile
    Befehle / Caching / Multistage Build

  • Übungen
    zu Docker Image und Dockerfile

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Was versteht Ihr unter einem Container?

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Virtuelle Maschine / Container

inline

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

💡 Container teilen *physikalische Ressourcen!

* unter Linux 🤓

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Modul 169 VM

Live Demo der Umgebung durch Lehrperson

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

📖 Auftrag

Lesen Sie das Kapitel "Git"

  • 🧬 Einzelarbeit
  • 🕐 10 Min
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

GIT Demo

  • GitHub Projekte zeigen
  • Commits
  • Änderungen sehen
  • PR vs Mergen
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

📝 Auftrag

Machen Sie die Übung "Git: Start".

  • 🧬 Einzelarbeit
  • 🕐 Bis zur grossen Pause
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

🛌 20 Min Pause

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

📝 Auftrag

Lesen und Machen Sie die Übung "Git: Übungs-Repository".

  • 🧬 Einzelarbeit
  • 🕐 bis zur Grossen Pause
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Wie werden Docker Images erstellt?

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Docker: vom File zum Container

docker-file-image-container

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Docker: Hauptmerkmale

Dockerfile

FROM ubuntu

COPY . /app

RUN pip install -r requirements.txt

CMD ["python", "app.py"]

Vom File zum Image

docker build . -t webapp:1.12.5

Image

  • Schichtenarchitektur:
    • FROM, RUN, COPY, ADD, WORKDIR → verändern Dateisystem
  • Portabilität:
    • on premise / cloud (kubernetes)
  • Versionierung:
    • tag: z.B. webapp:1.12.5
  • Verteilung: Container Registry
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

📖 Auftrag

Lesen Sie auf der Modulwebseite Woche 2

  • 🧬 Einzelarbeit
  • 🕐 10 Min
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Dockerfile Demo

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

📝 Auftrag

Machen Sie die Übung 1 unter Einfaches Dockerfile.

  • Öffnen Sie den Ordner der Übung01
  • Kopieren Sie die Lösung
  • Passen Sie den Author an
  • Bilden Sie das Docker Image
  • Listen Sie das Image
  • Erstellen Sie einen Container

Git Bash Befehle

cd ./02-dockerimage/uebung01

cp ./solution/Dockerfile Dockerfile

code Dockerfile # öffnet VS-Code

docker buildx build -t uebung01 .

docker images

docker run uebung01

docker ps
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Warum jetzt Git für Docker?

  • Git eignet sich für die Versionierung von Textfiles

  • Das Dockerfile ist ein Textfile.

  • Docker Images sind auch getagget 🤝.

  • Es ist klar, welchen Code welches Image gebaut hat.

  • Automatisierung braucht immer beschreibenden Code.

BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

📖 Auftrag

  • 🧬 Einzelarbeit
  • 🕐 10 Min
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

🔨 Auftrag

Lösen Sie die weiteren Aufgaben von "Einfaches Dockerfile" und mindestens eine von "Multistage Dockerfile".

  • 🧬 Einzelarbeit
  • 🕐 60 Min
BBZBL / Lukas Hodel / Services mit Containern bereitstellen
Modul 169 - Git / Docker Images

Hausaufgaben

  • Üben, üben, üben.

  • Es gibt genug Übungen.

  • Sie können sie auch wiederholen! Das schadet nicht ;)

BBZBL / Lukas Hodel / Services mit Containern bereitstellen

- **Docker Hub**

- eigene **Apps containerisieren**