Docker/Aktualisieren: Unterschied zwischen den Versionen
| Zeile 57: | Zeile 57: | ||
* Wählen Sie die Option, mit der Sie am besten zurechtkommen  | * Wählen Sie die Option, mit der Sie am besten zurechtkommen  | ||
; Ermitteln Sie die ID des Containers mit dem Befehl docker ps  | ; Ermitteln Sie die ID des Containers mit dem Befehl docker ps  | ||
<syntaxhighlight lang="bash" highlight="1" line copy>  | <syntaxhighlight lang="bash" highlight="1" line copy>  | ||
Version vom 22. Oktober 2025, 07:19 Uhr
Docker/Workshop/Aktualisieren - Beschreibung
Beschreibung
- Aktualisieren von Anwendungen
 
In Docker/Workshop/Containerisieren wurde eine ToDo-Anwendung containerisiert
- In diesem Teil werden Sie die Anwendung und das Image aktualisieren
 - Außerdem lernen Sie, wie Sie einen Container anhalten und entfernen können
 - Image aktualisieren
 - Image neu erstellen
 - Container stoppen
 - Container entfernen
 
Quellcode aktualisieren
In den folgenden Schritten ändern Sie den "leeren Text", wenn Sie keine ToDo-Listeneinträge haben, in "Sie haben noch keine ToDo-Einträge! Fügen Sie oben einen hinzu!"
Quellcode ändern
- 1. Ändern Sie in der Datei src/static/js/app.js die Zeile 56, um den neuen leeren Text zu verwenden
 
 - <p className="text-center">No items yet! Add one above!</p>
 + <p className="text-center">Sie haben noch keine ToDo-Einträge! Fügen Sie einen oben hinzu!</p>
- 2. Erstellen Sie Ihre aktualisierte Version des Images mit dem Befehl docker buildx build
 
docker buildx build -t getting-started .
- 3. Starten Sie einen neuen Container mit dem aktualisierten Code
 
docker run -dp 127.0.0.1:3000:3000 getting-started
oder, wenn Sie den Port nach außen veröffentlichen:
docker run -dp 3000:3000 getting-started
- Fehlermeldung
 
docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell
(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind für 127.0.0.1:3000 fehlgeschlagen: Port ist bereits vergeben
Fehler tritt auf, wenn Sie den neuen Container zu starten, während der alter Container noch läuft
- Der Grund dafür ist, dass der alte Container bereits den Port 3000 des Hosts verwendet und nur ein Prozess auf dem Rechner (einschließlich Container) auf einen bestimmten Port hören kann.
 
Um dies zu beheben, müssen Sie den alten Container entfernen
Container entfernen
- Alten Container entfernen
 
Um einen Container zu entfernen, müssen Sie ihn zunächst anhalten
- Sobald er angehalten wurde, können Sie ihn entfernen
 
Sie können den alten Container über die CLI oder die grafische Oberfläche von Docker Desktop entfernen
- Wählen Sie die Option, mit der Sie am besten zurechtkommen
 
- Ermitteln Sie die ID des Containers mit dem Befehl docker ps
 
docker ps
- Verwenden Sie den Befehl 
docker stop, um den Container zu stoppen 
- Ersetzen Sie <container-id> durch die ID von docker ps
 
docker stop <container-id>
Sobald der Container angehalten wurde, kanner mit docker rm entfernen werden
docker rm <container-id>
- Container mit einem einzigen Befehl stoppen und entfernen
 
Force-Flag zum Befehl docker rm hinzufügen
 docker rm -f <container-id>
Anstelle von Container-ID kann auch der Container-Name verwendet werden
- Container-Namen
 
Jeder Container hat eine NAME-Eigenschaft
- Wenn der Benutzer keinen Namen manuell festgelegt hat, generiert Docker einen zufälligen Namen, wobei das erste Wort des Namens ein Adjektiv und das zweite Wort der Nachname eines Wissenschaftlers ist
 
Aktualisierten Container starten
docker run -dp 127.0.0.1:3000:3000 getting-started
- Wenn Sie den Port nach außen veröffentlichen
 
docker run -dp 3000:3000 getting-started
Aktualisieren Sie Ihren Browser auf http://localhost:3000 und Sie sollten Ihren aktualisierten Hilfetext sehen
Nächste Schritte
- Images mit anderen teilen
 
- https://docs.docker.com/get-started/workshop/03_updating_app/#next-steps
 - https://docs.docker.com/get-started/workshop/04_sharing_app
 
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
- https://docs.docker.com/get-started/workshop/03_updating_app
 - https://docs.docker.com/reference/cli/docker