Docker/Aktualisieren: Unterschied zwischen den Versionen
K Schützte „Docker/Workshop/Aktualisieren“ ([Bearbeiten=Nur Administratoren erlauben] (unbeschränkt) [Verschieben=Nur Administratoren erlauben] (unbeschränkt)) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
== Aktualisieren == | == Aktualisieren == | ||
; Aktualisieren der Anwendung | ; Aktualisieren der Anwendung | ||
In [ | * In [[]] haben Sie 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 | |||
=== [https://docs.docker.com/get-started/workshop/03_updating_app/#update-the-source-code Aktualisieren Sie den Quellcode] === | === [https://docs.docker.com/get-started/workshop/03_updating_app/#update-the-source-code Aktualisieren Sie den Quellcode] === | ||
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!" | 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!" | ||
; 1. Aktualisieren Sie in der Datei ''src/static/js/app.js'' die Zeile 56, um den neuen leeren Text zu verwenden | |||
<pre><nowiki>- <p className="text-center">No items yet! Add one above!</p></nowiki> | <pre><nowiki>- <p className="text-center">No items yet! Add one above!</p></nowiki> | ||
<nowiki>+ <p className="text-center">Sie haben noch keine ToDo-Einträge! Fügen Sie einen oben hinzu!<p className="text-center"></p></nowiki></pre> | <nowiki>+ <p className="text-center">Sie haben noch keine ToDo-Einträge! Fügen Sie einen oben hinzu!<p className="text-center"></p></nowiki></pre> | ||
; 2. Erstellen Sie Ihre aktualisierte Version des Images mit dem Befehl <code>docker buildx build</code> | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
docker buildx build -t getting-started . | docker buildx build -t getting-started . | ||
</syntaxhighlight> | </syntaxhighlight> | ||
; 3. Starten Sie einen neuen Container mit dem aktualisierten Code | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
docker run -dp 127.0.0.1:3000:3000 getting-started | docker run -dp 127.0.0.1:3000:3000 getting-started | ||
</syntaxhighlight> | </syntaxhighlight> | ||
oder, wenn Sie den Port nach außen veröffentlichen: | |||
<syntaxhighlight lang="bash" highlight="1" line copy> | |||
docker run -dp 3000:3000 getting-started | docker run -dp 3000:3000 getting-started | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Sie haben wahrscheinlich eine Fehlermeldung wie diese gesehen: | Sie haben wahrscheinlich eine Fehlermeldung wie diese gesehen: | ||
< | <syntaxhighlight lang="bash" highlight="" line> | ||
docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell | 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 | |||
</syntaxhighlight> | |||
Der Fehler ist aufgetreten, weil Sie nicht in der Lage sind, den neuen Container zu starten, während Ihr 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. | |||
Der Fehler ist aufgetreten, weil Sie nicht in der Lage sind, den neuen Container zu starten, während Ihr 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 | Um dies zu beheben, müssen Sie den alten Container entfernen | ||
=== [https://docs.docker.com/get-started/workshop/03_updating_app/#remove-the-old-container Entfernen Sie den alten Container] === | === [https://docs.docker.com/get-started/workshop/03_updating_app/#remove-the-old-container Entfernen Sie den alten Container] === | ||
Um einen Container zu entfernen, müssen Sie ihn zunächst anhalten. Sobald er angehalten wurde, können Sie ihn 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. | 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. | |||
==== [https://docs.docker.com/get-started/workshop/03_updating_app/#remove-a-container-using-the-cli Entfernen eines Containers über die CLI] ==== | ==== [https://docs.docker.com/get-started/workshop/03_updating_app/#remove-a-container-using-the-cli Entfernen eines Containers über die CLI] ==== | ||
# 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>docker ps</syntaxhighlight> | #:<syntaxhighlight lang="bash" highlight="1" line copy>docker ps</syntaxhighlight> | ||
# Verwenden Sie den Befehl <code>docker stop</code> , um den Container zu stoppen. Ersetzen Sie <the-container-id> durch die ID von docker ps | # Verwenden Sie den Befehl <code>docker stop</code> , um den Container zu stoppen. | ||
* Ersetzen Sie <the-container-id> durch die ID von docker ps | |||
#:<syntaxhighlight lang="bash" highlight="1" line copy>docker stop <der-container-id></syntaxhighlight> | #:<syntaxhighlight lang="bash" highlight="1" line copy>docker stop <der-container-id></syntaxhighlight> | ||
# Sobald der Container angehalten wurde, können Sie ihn mit dem Befehl docker rm entfernen | # Sobald der Container angehalten wurde, können Sie ihn mit dem Befehl docker rm entfernen | ||
| Zeile 50: | Zeile 59: | ||
docker rm <der-container-id></syntaxhighlight> | docker rm <der-container-id></syntaxhighlight> | ||
Hinweis | ; Hinweis | ||
Sie können einen Container mit einem einzigen Befehl stoppen und entfernen, indem Sie das Force-Flag zum Befehl docker rm hinzufügen. | |||
Sie können einen Container mit einem einzigen Befehl stoppen und entfernen, indem Sie das Force-Flag zum Befehl docker rm hinzufügen. | Beispiel | ||
docker rm -f <der-container-id> | |||
Anstelle von <der-container-id> kann auch <der-container-name> verwendet werden. | Anstelle von <der-container-id> kann auch <der-container-name> verwendet werden. | ||
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. | |||
==== [https://docs.docker.com/get-started/workshop/03_updating_app/#start-the-updated-app-container Starten Sie den aktualisierten App-Container] ==== | ==== [https://docs.docker.com/get-started/workshop/03_updating_app/#start-the-updated-app-container Starten Sie den aktualisierten App-Container] ==== | ||
Version vom 21. Oktober 2025, 14:56 Uhr
Aktualisieren
- Aktualisieren der Anwendung
- In [[]] haben Sie 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
Aktualisieren Sie den Quellcode
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!"
- 1. Aktualisieren 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 className="text-center"></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
Sie haben wahrscheinlich eine Fehlermeldung wie diese gesehen:
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
Der Fehler ist aufgetreten, weil Sie nicht in der Lage sind, den neuen Container zu starten, während Ihr 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
Entfernen Sie den alten Container
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.
Entfernen eines Containers über die CLI
- 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 <the-container-id> durch die ID von docker ps
docker stop <der-container-id>
- Sobald der Container angehalten wurde, können Sie ihn mit dem Befehl docker rm entfernen
docker rm <der-container-id>
- Hinweis
Sie können einen Container mit einem einzigen Befehl stoppen und entfernen, indem Sie das Force-Flag zum Befehl docker rm hinzufügen. Beispiel
docker rm -f <der-container-id>
Anstelle von <der-container-id> kann auch <der-container-name> verwendet werden.
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.
Starten Sie den aktualisierten App-Container
- Starten Sie nun Ihre aktualisierte Anwendung mit dem Befehl docker run
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
- Aktualisieren Sie Ihren Browser auf http://localhost:3000 und Sie sollten Ihren aktualisierten Hilfetext sehen
Zusammenfassung
In diesem Abschnitt haben Sie gelernt, wie Sie ein Image aktualisieren und neu erstellen und wie Sie einen Container stoppen und entfernen können
Verwandte Informationen
Nächste Schritte
Als Nächstes lernen Sie, wie Sie Images mit anderen teilen können