Docker komplett Vom Anfanger zum Profi inkl Kubernetes
What you’ll learn
Lerne die Grundlagen von Docker und Kubernetes
Lerne praxisorientiert und am Beispiel mit vielen Aufgaben und Quizzen
Lerne wie du mit Containern, Images & Volumes umgehst
Verknüpfe mehrere Container mit Docker Compose
Optimiere deine Arbeitsabläufe mit Docker
Erstelle eigene Images mit einem Dockerfile
Vereinfache das Deployment auf ein Produktiv-System
Requirements
Es sind keine Programmierkenntnisse nötig. Du lernst alles, was du wissen musst.
Grundkenntnisse auf der Kommandozeile (Shell / PowerShell / Bash / …) sind hilfreich, aber nicht notwendig
Description
“Auch außerhalb von Udemy, der mit Abstand beste Kurs um docker zu verstehen und für eigene Projekte nutzen zu können. Der Aufbau des Kurses ist super. Vielen Dank dafür!” (★★★★★, Stefan Zöllner)Lerne jetzt 2 der gefragtesten Technologien in der IT in einem Kurs: Docker und KubernetesMit Docker kann deine Anwendung in einem “Container” ausgeführt werden. Was bedeutet das? Ein Container ist eine Umgebung, die von deinem Computer (Host) abgegrenzt ist, und in der dann deine Anwendung ausgeführt wird. Der Vorteil dabei ist, dass sich dieser Container einfach auf ein anderes System übertragen lässt – inklusive der gesamten Software & Konfiguration. Das spart dir eine zeitaufwendige Konfiguration des Produktiv-Servers.Zudem ist durch den Container die Software-Umgebung der Anwendung genau spezifiziert. Sie wird dadurch überall genau gleich funktionieren – aufwendiges Debuggen nach Installation auf einem neuen System kann daher oft entfallen.Docker und Kubernetes:Neben Docker bekommst du in diesem Kurs auch einen Einstieg in die Welt von Kubernetes. Mit Kubernetes kannst du anschließend eine Anwendung aus Microservices in einer Cloud laufen lassen – eine hochmoderne und skalierbare Software-Architektur.Für wen ist dieser Kurs?Dieser Kurs ist ideal für dich, wenn du als Entwickler oder Systemadministrator deine Arbeitsprozesse mit Docker verbessern möchtest. Als Entwickler kannst du mit Docker z.B. binnen ein paar Sekunden Python in einer spezifischen Version starten, und du kannst die Abhängigkeiten deiner Anwendung genau spezifizieren. Als Systemadministrator ermöglicht dir Docker ein vereinfachtes Deployment von deiner Anwendung.Was lernst du in diesem Kurs?Docker Grundlagen (was ist ein Container, ein Image)Dateimanagement in Docker (Bind Mounts, Volumes, docker cp,…)Networking in Docker (Port weiterleiten,…)Dockerfiles: Baue eigene Images und führe deine eigene Anwendung in Docker ausDocker compose: Verwalte eine Anwendung aus mehreren ImagesDocker swarm: Führe deine Anwendung in einem Cluster ausKubernetes: Administriere eine komplexe Cluster-Architektur und führe dort Microservices ausDas hier ist ein Praxiskurs: Es gibt unzählige Beispiele, Übungen und Quizze. Dadurch enthält dieser Kurs keine trockene Theorie, sondern alles ist anschaulich und wird am Beispiel erklärt. SUMMA SUMMARUMDieser Kurs lohnt sich für alle, die ihren Workflow mit Docker optimieren möchten.Lerne Schritt für Schritt Docker und Kubernetes, mit einem guten Mix aus Theorie, Praxis und Quizzen. Dieser Kurs bietet dir über 18 Stunden Video-Lektionen, die alle aufeinander aufbauen. So lernst Docker und Kubernetes Schritt für Schritt und mit System.Klingt gut?Dann würde ich mich sehr freuen, dir noch heute die Tür zu Docker und Kubernetes öffnen zu können.Du lernst mit dem erfolgreichsten, deutschsprachigen Dozenten auf Udemy.Schau dir auch meine Video Nachricht an, oder lies dir noch ein paar Bewertungen durch – überzeuge dich einfach selbst 🙂
Overview
Section 1: Einführung
Lecture 1 Motivation und Aufbau des Kurses
Lecture 2 Download der Slides
Lecture 3 Problem: Replizierbarkeit von Anwendungsumgebungen
Lecture 4 Virtuelle Maschinen und Rechnerarchitektur
Lecture 5 Was ist ein Container?
Lecture 6 Hinweis [Windows]: WSL2 Installation is incomplete
Lecture 7 Installation von Docker Desktop
Lecture 8 Erste Docker-Container ausführen (Ubuntu & Python)
Lecture 9 Crashkurs: Grundlegende Kommandos in der Linux-Shell
Lecture 10 Hinweis zur nächsten Lektion
Lecture 11 Beispiel: Einen Apache-Webserver in einer Minute aufsetzen
Lecture 12 Die Architektur von Docker-Containern
Lecture 13 Troubleshooting: Hilfestellungen für grundsätzliche Probleme
Lecture 14 Aufgabe: Einführung in Docker
Lecture 15 Musterlösung: Einführung in Docker
Section 2: Containers & Images
Lecture 16 Einführung und Lernziele
Lecture 17 Docker Host, Docker Client und der Docker Daemon
Lecture 18 Was ist ein Image und was ist Docker Hub?
Lecture 19 Images herunterladen: docker pull
Lecture 20 Der Aufbau von einem Docker-Image und wie man Images untersucht
Lecture 21 Tags von einem Images
Lecture 22 Images taggen: docker image tag
Lecture 23 Images löschen: docker image rm
Lecture 24 Container erzeugen und starten
Lecture 25 docker create vs. docker start vs. docker run
Lecture 26 Container untersuchen: docker inspect und docker history
Lecture 27 Container benennen: docker rename und die Flag –name
Lecture 28 Container stoppen und neu starten: docker stop und docker start
Lecture 29 Container löschen: docker rm
Lecture 30 Troubleshooting: typische Fehler beheben
Lecture 31 Programme in einem Container starten: docker exec
Lecture 32 Containern mit Docker Desktop grafisch verwalten
Lecture 33 Aufgabe: Docker Grundlagen
Lecture 34 Musterlösung: Docker Grundlagen
Section 3: Grundlagen des Container Networkings
Lecture 35 Einführung und Lernziele
Lecture 36 Der detached-Mode (die Flag -d): Container im Hintergrund laufen lassen
Lecture 37 Die restart-Policies (die Flag –restart): Container automatisch starten
Lecture 38 Crash-Kurs: Was sind Ports?
Lecture 39 Portweiterleitungen und Ports freigeben (die Flagge -p): nginx-Webserver starten
Lecture 40 Ports beim Erstellen eines Containers veröffentlichen
Lecture 41 Beispiel: Einen PHP-Webserver mit Docker starten
Lecture 42 Beispiel: Eine PySpark-Umgebung mit Docker starten
Lecture 43 Aufgabe: nginx-Webserver abändern
Lecture 44 Lösung: nginx-Webserver abändern
Section 4: Dateimanagement in Containern
Lecture 45 Das Projekt in diesem Abschnitt
Lecture 46 Einführung und Lernziele
Lecture 47 Dateien in und aus einem Container kopieren: docker cp
Lecture 48 Beispiel: Webseite mit nginx-Webserver ausliefern
Lecture 49 Wichtiger Hinweis: Der Fehler “invalid reference format”
Lecture 50 Was sind Mounts und wie führt man einen bind mount durch?
Lecture 51 Read-only bind mounts
Lecture 52 Beispiel: bind mount für Data Science Notebook
Lecture 53 Kursmaterialien für die nächste Lektion
Lecture 54 Aufgabe mit Musterlösung: Webseite mit PHP-Webserver ausliefern
Lecture 55 Best practice: docker cp vs bind mount
Lecture 56 Beispiel: Markdown mit pandoc in PDF umwandeln
Lecture 57 Was sind Volumes?
Lecture 58 Die Flag -v: Volume mit Container verknüpfen
Lecture 59 Automatisch generierte Volumes (anhand von MariaDB)
Lecture 60 Kursmaterialien für die nächste Lektion
Lecture 61 Projekt: MariaDB-Datenbank updaten (Teil 1)
Lecture 62 Projekt: MariaDB-Datenbank updaten (Teil 2)
Lecture 63 Volumes mit Docker Desktop grafisch verwalten
Section 5: Netzwerke in Docker
Lecture 64 bridge-Netzwerke in Docker
Lecture 65 Das host- und das none-Netzwerk
Lecture 66 Ein neues bridge-Netzwerk erstellen: docker network create
Lecture 67 phpymyadmin und MariaDB in Netzwerk verbinden
Lecture 68 WordPress und MariaDB in Netzwerk verbinden
Lecture 69 Umgebungsvariablen setzen
Lecture 70 Aufgabe: MongoDB und Mongo Express verwenden
Lecture 71 Musterlösung: MongoDB und Mongo Express verwenden
Section 6: Dockerfiles (Teil 1): eigene Images entwickeln
Lecture 72 Aufbau und Verwendung von Dockerfiles
Lecture 73 Eigene Images mit Dockerfiles erstellen: docker build
Lecture 74 Von einem Basis-Image ableiten: FROM
Lecture 75 Befehle beim Bau eines neuen Images ausführen: RUN
Lecture 76 Kursmaterialien für die nächste Lektion
Lecture 77 Dateien in ein neues Image kopieren: COPY und ADD
Lecture 78 Befehle beim Start eines Containers ausführen: CMD
Lecture 79 Einen Container als Service ausführen: ENTRYPOINT
Lecture 80 Das Arbeitsverzeichnis wechseln: WORKDIR
Lecture 81 Build- und Umgebungsvariablen setzen: ARG und ENV
Lecture 82 Mounts durchführen: VOLUME
Lecture 83 Ports dokumentieren: EXPOSE
Lecture 84 Beispiele: Geläufige Dockerfiles analysieren
Lecture 85 Sicherheitshinweise für die Verwendung von ARG- und ENV-Variablen
Lecture 86 Kursmaterialien für die nächste Lektion
Lecture 87 Beispiel: eine Flask-App containerisieren/dockerisieren
Lecture 88 Kursmaterialien für die nächste Lektion
Lecture 89 Aufgabe: Lernumgebung für den Editor vim einrichten
Lecture 90 Musterlösung: Lernumgebung für den Editor vim einrichten
Lecture 91 Aufgabe: Dockerfiles anwenden
Lecture 92 Musterlösung: Dockerfiles anwenden
Section 7: Dockerfiles (Teil 2) & fortgeschrittenes Wissen
Lecture 93 Einleitung und Lernziele
Lecture 94 Hinweis zur nächsten Lektion
Lecture 95 Metadaten für neue Images: LABEL
Lecture 96 Dateien beim Bau von Images nicht beachten: Die .dockerignore-Datei
Lecture 97 CPU-Architekturen: ARM vs x86
Lecture 98 Alpine Linux (Teil 1)
Lecture 99 Alpine Linux (Teil 2)
Lecture 100 Alpine Linux (Teil 3)
Lecture 101 Kursmaterialien für die nächste Lektion
Lecture 102 Dockerfiles optimieren: Multi-Stage-Builds
Lecture 103 Kursmaterialien für die nächste Lektion
Lecture 104 Aufgabe: Multi-Stage-Build für Go-App
Lecture 105 Musterlösung: Multi-Stage-Build für Go-App
Section 8: docker compose: Mehrere Container gleichzeitig konfigurieren
Lecture 106 Einleitung und Überblick über docker compose
Lecture 107 Crash-Kurs: Die Auszeichnungssprache YAML
Lecture 108 Kursmaterialien für diesen Abschnitt
Lecture 109 Der Aufbau einer compose.yaml und das Kommando docker compose up
Lecture 110 Eigenes Dockerfile in compose.yaml verwenden
Lecture 111 Beispiel: phpmyadmin und MariaDB mit docker compose
Lecture 112 Restart Policies mit docker compose
Lecture 113 Abhängigkeiten zwischen Services mittels depends_on angeben
Lecture 114 Volumes und bind mounts mit docker compose
Lecture 115 Einen Service skalieren
Lecture 116 Umgebungsvariablen in compose.yaml verwenden
Lecture 117 Beispiel: WordPress mit docker compose starten
Lecture 118 Services gruppieren mit Profiles
Lecture 119 Die Subkommandos von docker compose: docker compose down usw.
Lecture 120 Projekt / Aufgabe: Full-Stack mit docker compose
Lecture 121 Projekt / Wichtige Hinweise: Full-Stack mit docker compose
Lecture 122 Projekt / Musterlösung: Full-Stack mit docker compose
Section 9: Docker Swarm: docker engines auf einem Cluster administrieren
Lecture 123 Einleitung und Lernziele
Lecture 124 Was sind Microservices?
Lecture 125 Was ist Docker Swarm?
Lecture 126 Der Aufbau von einem Swarm und eigenen Swarm initialisieren
Lecture 127 Service auf einem Swarm erstellen: docker service create
Lecture 128 Beispiel: PHP-Webserver auf einem Swarm ausführen
Lecture 129 Requestes zwischen Nodes weiterleiten: routing mesh
Lecture 130 Wie startet Docker Swarm einen Container?
Lecture 131 Vertrauliche Daten schützen: Secrets
Lecture 132 Konfigurationsdateien auf dem Swarm verteilen: Configs
Lecture 133 Template-Engine auf Konfigurationsdatei anwenden: templated configs
Lecture 134 Beispiel: Multi-Container-Anwendung auf Swarm (Teil 1) – docker stack deploy
Lecture 135 Beispiel: Multi-Container-Anwendung auf Swarm (Teil 2) – Secrets einbauen
Lecture 136 Beispiel: Multi-Container-Anwendung auf Swarm (Teil 3) – Configs einbauen
Lecture 137 Projekt: Docker Swarm auf einem echten Cluster (Teil 1)
Lecture 138 Projekt: Docker Swarm auf einem echten Cluster (Teil 2)
Section 10: Crash-Kurs Kubernetes: Container-Anwendungen auf einem Cluster administrieren
Lecture 139 Einleitung und Lernziele
Lecture 140 Was ist Kubernetes (K8s)?
Lecture 141 Was ist ein Pod?
Lecture 142 Die Komponenten in einem K8s-Cluster: kubelet, etcd, kube-apiserver usw.
Lecture 143 Kubernetes vs Docker Swarm
Lecture 144 Was ist Minikube?
Lecture 145 Minikube-Installation unter Windows
Lecture 146 Minikube-Installation unter macOS
Lecture 147 Das Kubernetes Dashboard
Lecture 148 Das Kommando kubectl und grundlegende Abfragen
Lecture 149 Der Aufbau von kubectl – Kommandos
Lecture 150 Theorie: Workloads, Deployments, ReplicaSets
Lecture 151 Praxis: Workloads, Deployments, ReplicaSets
Lecture 152 Deployments in YAML konfigurieren
Lecture 153 Labels in K8s-Konfigurationsdateien verwenden (Teil 1)
Lecture 154 Labels in K8s-Konfigurationsdateien verwenden (Teil 2)
Lecture 155 Mehrere Deployments in einer Konfigurationsdatei
Lecture 156 Ein Deployment mit kubectl debuggen
Lecture 157 Networking in K8s: Services
Lecture 158 Einen Service erstellen: kubectl expose
Lecture 159 Services mit kubectl verwalten
Lecture 160 Services in YAML-Datei konfigurieren
Lecture 161 Projekt: Webseite auf nginx-Webserver ausliefern (Vorstellung)
Lecture 162 Projekt: Webseite auf nginx-Webserver ausliefern (Schritt 1) – Dockerfile
Lecture 163 Projekt: Webseite auf nginx-Webserver ausliefern (Schritt 2) – Daemon ansteuern
Lecture 164 Projekt: Webseite auf nginx-Webserver ausliefern (Schritt 3) – Konfiguration
Lecture 165 Crash-Kurs: DNS
Lecture 166 Interne Kommunikation im K8s-Cluster
Lecture 167 Umgebungsvariablen in K8s setzen und verwenden
Lecture 168 Abschlussprojekt: Flask-Redis-App mit K8s deployen (Teil 1)
Lecture 169 Abschlussprojekt: Flask-Redis-App mit K8s deployen (Teil 2)
Lecture 170 Abschlussprojekt: Flask-Redis-App mit K8s deployen (Teil 3)
Lecture 171 Ausblick
Section 11: Schluss
Lecture 172 Schlussworte
An alle, die Docker lernen möchten,An Entwickler, die mit Docker effizienter arbeiten möchten,An Systemadministratoren, die einen Einstieg in Docker und Kubernetes benötigen
Course Information:
Udemy | 400 bad request: {“error”:{“root_cause”:[{“type”:”invalid_index_name_exception”,”reason”:”invalid index name [__english], must not start with ‘_’.”,”index_uuid”:”_na_”,”index”:”__english”}],”type”:”invalid_index_name_exception”,”reason”:”invalid index name [__english], must not start with ‘_’.”,”index_uuid”:”_na_”,”index”:”__english”},”status”:400} | 18h 15m | 13.24 GB
Created by: Jannis Seemann
You Can See More Courses in the Developer >> Greetings from CourseDown.com