Beschreibung
Docker ist eine Open Source Plattform, die das Paketieren, Verteilen und Ausführen von Anwendungen in Containern ermöglicht.
Container sind leichtgewichtige, isolierte Umgebungen, die alle für die Ausführung einer Anwendung erforderlichen Komponenten enthalten. Dadurch wird sichergestellt, dass die Anwendung konsistent auf jedem System ausgeführt werden kann, auf dem Docker verfügbar ist.
Docker wird in vielen Bereichen eingesetzt, um die Entwicklung, das Testen und den Betrieb von Software zu optimieren. Es ist besonders in DevOps-Umgebungen beliebt, da es die Bereitstellung von Anwendungen vereinfacht. Durch Docker können auch komplette Entwicklungstoolchains als Devcontainer für Projekte standardisiert zur Verfügung gestellt werden.
In dieser Schulung vermitteln wir theoretische Grundlagen, die durch praktische Übungen gefestigt und vertieft werden. Zusammen mit Tipps aus der Praxis kann das Gelernte direkt in der täglichen Arbeit umgesetzt werden.
Lerninhalte
Einführung
- Hintergrund
- Architektur und Nomenklatur
- Voraussetzungen
- Installation
Container erstellen und verwenden
- Verwenden von Container registries
- Docker CLI Befehle
- Persistente Datenspeicherung mit Docker Volumes und Bind mounts
- Netzwerkzugriff auf Container mit Docker Ports
Verwendung von Docker compose
- Erstellen von Docker compose Dateien
- Docker compose CLI Befehle
- Verwendung und Orchestrierung mehrerer Services
Erstellen von eigenen Docker Images
- Erstellen von Dockerfiles
- Dockerfile Syntax: FROM, ENV, COPY, ADD, RUN, EXPOSE, …
- Bauen und Taggen von Docker Images
- Verwendung einer Docker Registry
Verwendung von Docker Containern als Devcontainer
- Einführung in Devcontainer mit Visual Studio Code
- Konfigurieren und Verwenden von Devcontainern
- Erstellung von eigenen devcontainer.json Konfigurationsdateien
Lernziele
- Erfolgreicher Einsatz von Docker und Docker compose im modernen DevOps Umfeld
- Erstellen, publizieren und wiederverwenden von Docker Images mit einer Docker Registry
- Effiziente Entwicklung durch standardisierte Entwicklungstoolchains mit Devcontainern