Erste Schritte mit Docker
Ziel
In diesem Projekt geht es um die grundlegende Funktionalität von Docker. Sie werden:
- Container starten und stoppen
- erste Befehle ausführen
- den Lebenszyklus von Containern nachverfolgen
Hilfsmittel
- Versuchen Sie, die unten stehenden Aufgaben mit Hilfe der Folien und des Cheatsheets eigenständig zu lösen.
- Sollten Sie dabei Probleme haben, finden Sie bei jeder Aufgabe einen ausklappbaren Block, in dem der Lösungsweg beschrieben wird.
Aufgabe 1 - Schulungsmaschine einrichten
- Die Schulungsmaschinen sind unter
code-{ZAHL}.labs.corewire.de
zu erreichen. Ersetzen Sie{ZAHL}
mit der Ihnen zugewiesenen Zahl. - Beispiel für die Zahl 5:
code-5.labs.corewire.de
. - Beispiel für die Zahl 11:
code-11.labs.corewire.de
. - Geben Sie danach das Ihnen zugewiesene Passwort ein.
- Sie haben nun Zugriff auf die Schulungsmaschine.
Aufgabe 2 - Die Demoanwendung
2.1: Terminal starten
- Öffnen Sie ein Terminal (Menü > Terminal > New Terminal)
2.2: Demoanwendung starten
- Starten Sie die Demo-Anwendung
corewire/docker-demoapp
über das Terminal. Sie wird automatisch von Dockerhub heruntergeladen und gestartet.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Führen Sie folgenden Befehl aus:
docker run corewire/docker-demoapp
- Mit
Strg + C
können Sie den Container wieder beenden.
2.2: Demoanwendung von extern erreichbar machen
Die Demoanwendung läuft nun, ist aber noch nicht von extern erreichbar. Stoppen Sie die Anwendung und starten Sie sie erneut. Dieses Mal aber mit einer Portweiterleitung von 8080 -> 5000.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Mit
Strg + C
können Sie den Container wieder beenden. - Führen Sie folgenden Befehl aus:
docker run -p 8080:5000 corewire/docker-demoapp
2.3: Demoanwendung besuchen
- Besuchen Sie die Demo-Anwendung im Browser
- Sie ist über Ihre URL (
code-{ZAHL}.labs.corewire.de
) auf dem Port 8080 zu erreichen. Verwenden Siehttp://
und nichthttps://
. - Geben Sie 1-2 Notizen ein.
- Schauen Sie im VSCode Terminal nach den Logs. Sie können Ihre Zugriffe auf die Webseite sehen.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Öffnen Sie, die Webapp in einem neuen Tab unter
http://code-0.labs.corewire.de:8080/
. - Wichtig:
http
nichthttps
code-0
durch Ihre Instanz ersetzen.
- Bei Erfolg können Sie wieder zur VSCode Instanz wechseln. Im Terminal sehen sie in den Logeinträgen, dass Sie auf die Webapp zugegriffen haben.
Aufgabe 3 - Container starten und stoppen
3.1: Container im Vordergrund stoppen
- Stoppen Sie Ihren Container.
- Überprüfen Sie, dass die Webseite nun nicht mehr erreichbar ist.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Klicken Sie auf Ihr Terminal, in dem der Container läuft.
- Mit
Strg + C
können Sie den Container nun beenden.
3.2: Im Hintergrund starten
- Starten Sie die Demoanwendung nun im Hintergrund, sodass die Logs nicht auf dem Terminal erscheinen.
- Besuchen Sie die Webseite erneut und überprüfen Sie, dass sie erreichbar ist.
- Fügen Sie Notizen ein.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Container im Hintergrund starten:
docker run -d -p 8080:5000 corewire/docker-demoapp
3.3 Container im Hintergrund stoppen
- Stoppen Sie den Container nun wieder. Dazu müssen Sie zuerst herausfinden, wie der Container heißt.
VSCode Container
Die Container code-server
und vscode-traefik
stellen das VSCode Programm bereit.
Diese Container nicht stoppen, da ansonsten die Instanz nicht mehr erreichbar ist.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Container stoppen, wenn er im Hintergrund gestartet wurde:
docker stop <ID oder Name des Containers>
- Den Containernamen können Sie per
docker ps
nachschauen.
Aufgabe 4 - Container neu starten
docker run
erstellt jedes Mal einen neuen Container. Das erkennen Sie zum Beispiel
daran, dass die Notizen bei jedem neuen Container nicht mehr vorhanden waren.
In Aufgabe 3.3 haben Sie den Namen des Containers nachgeschaut. Starten Sie diesen
Container nun erneut (nicht über docker run
), sodass die Notizen wieder angezeigt
werden.
Überprüfen Sie die Erreichbarkeit der Webseite und ob Ihre Notizen wieder angezeigt werden.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Container neu starten:
docker start <ID oder Name des Containers>
.
Aufgabe 5 - Den Container stoppen und löschen
Stoppen Sie nun den Container wieder. Löschen Sie ihn anschließend.
Lösung (Klicken Sie auf den Pfeil, falls Sie nicht weiterkommen)
- Stoppen Sie den Container, wie zuvor:
docker stop <ID oder Name des Containers>
- Den Containernamen können Sie per
docker ps
nachschauen.
- Löschen Sie den Container:
docker rm <ID oder Name des Containers>