Zum Inhalt springen

Docker/Aktualisieren: Unterschied zwischen den Versionen

Aus Foxwiki
DanielZorin (Diskussion | Beiträge)
 
(54 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Docker/Workshop/Aktualisieren''' - Beschreibung
'''Docker/Aktualisieren''' - Beschreibung


== Beschreibung ==
== Beschreibung ==
; Aktualisieren der Anwendung
; Aktualisieren von Anwendungen
* In [[]] haben Sie eine ToDo-Anwendung containerisiert
In [[Docker/Containerisieren]] wurde eine ToDo-Anwendung containerisiert
* In diesem Teil werden Sie die Anwendung und das Image aktualisieren
* Hier sollen die Anwendung und das Image aktualisiert werden
* Außerdem lernen Sie, wie Sie einen Container anhalten und entfernen können


== Anwendung ==
; Themen
<syntaxhighlight lang="bash" highlight="1" line copy>
* Image aktualisieren
</syntaxhighlight>
* Image neu erstellen
* Container stoppen
* Container entfernen


=== Problembehebung ===
== Quellcode aktualisieren ==
Ändern von "No items yet! Add one above!" in "Sie haben noch keine ToDo-Einträge! Fügen Sie oben einen hinzu!", wenn keine ToDo-Listeneinträge vorhanden sind


== Konfiguration ==
=== Quellcode ändern ===
=== Dateien ===
; Hilfetext ändern
{| class="wikitable options big"
Ändern Sie in der Datei ''src/static/js/app.js'' die Zeile 56, um den neuen leeren Text zu verwenden
|-
<syntaxhighlight lang="html" highlight="" line>
! Datei !! Beschreibung
- <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>
| ||
</syntaxhighlight>
|-
| ||
|}


<noinclude>
== Aktualisiertes Images erstellen ==
<syntaxhighlight lang="bash" highlight="1" line copy>
docker buildx build -t getting-started .
</syntaxhighlight>


== Anhang ==
== Aktualisierten Container starten ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


=== Dokumentation ===
<syntaxhighlight lang="bash" highlight="1" line copy>
; Man-Page
docker run -dp 3000:3000 getting-started
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
</syntaxhighlight>


<!--
; Fehlermeldung
; Info-Pages
<syntaxhighlight lang="bash" highlight="" line>
-->
docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell
(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind für <server_ip>:3000 fehlgeschlagen: Port ist bereits vergeben
</syntaxhighlight>


=== Links ===
Fehler tritt auf, wenn Sie den neuen Container zu starten, während der alter Container noch läuft
==== Projekt ====
* 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.
==== Weblinks ====
# https://docs.docker.com/get-started/workshop/03_updating_app/#update-the-source-code
# https://docs.docker.com/get-started/workshop/03_updating_app/#remove-the-old-container
# https://docs.docker.com/get-started/workshop/03_updating_app/#start-the-updated-app-container


Um dies zu beheben, müssen Sie den alten Container entfernen


[[Kategorie:Docker/Workshop]]
== Container entfernen ==
 
Um Container zu entfernen, müssen Sie zunächst angehalten werden
</noinclude>
 
= TMP =
== 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!"
 
; 1.&nbsp;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>
<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.&nbsp;Erstellen Sie Ihre aktualisierte Version des Images mit dem Befehl <code>docker buildx build</code>


; Container-ID ermitteln
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
docker buildx build -t getting-started .
docker ps
</syntaxhighlight>
</syntaxhighlight>


; 3.&nbsp;Starten Sie einen neuen Container mit dem aktualisierten Code
; Container anhalten
 
Ersetzen Sie <container-id> durch die ID von docker ps
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
docker run -dp 127.0.0.1:3000:3000 getting-started
docker stop <container-id>
</syntaxhighlight>
</syntaxhighlight>


oder, wenn Sie den Port nach außen veröffentlichen:
; Container entfernen
 
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
docker run -dp 3000:3000 getting-started
docker rm <container-id>
</syntaxhighlight>
</syntaxhighlight>


Sie haben wahrscheinlich eine Fehlermeldung wie diese gesehen:
; Container mit einem einzigen Befehl stoppen und entfernen
<syntaxhighlight lang="bash" highlight="" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
docker: Error response from daemon: driver failed programming external connectivity on endpoint laughing_burnell
docker rm -f <container-id>
(bb242b2ca4d67eba76e79474fb36bb5125708ebdabd7f45c8eaf16caaabde9dd): Bind für 127.0.0.1:3000 fehlgeschlagen: Port ist bereits vergeben
</syntaxhighlight>
</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.
; Container-Namen
* 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.
Anstelle von Container-ID kann auch der Container-Name verwendet werden


Um dies zu beheben, müssen Sie den alten Container entfernen
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


== Alten Container entfernen ==
== Aktualisierten Container starten ==
Um einen Container zu entfernen, müssen Sie ihn zunächst anhalten.
<syntaxhighlight lang="bash" highlight="1" line copy>
* Sobald er angehalten wurde, können Sie ihn entfernen.
docker run -dp 3000:3000 getting-started
</syntaxhighlight>


Sie können den alten Container über die CLI oder die grafische Oberfläche von Docker Desktop entfernen.
Aktualisieren Sie Ihren Browser auf <server_ip>:3000 und Sie sollten Ihren aktualisierten Hilfetext sehen
* 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] ===
== Nächste Schritte ==
# Ermitteln Sie die ID des Containers mit dem Befehl docker ps
; Images mit anderen teilen
#:<syntaxhighlight lang="bash" highlight="1" line copy>docker ps</syntaxhighlight>
[[Docker/Freigeben]]
# 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>
# Sobald der Container angehalten wurde, können Sie ihn mit dem Befehl docker rm entfernen
#:<syntaxhighlight lang="bash" highlight="1" line copy>
docker rm <der-container-id></syntaxhighlight>


; 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.
;Zurück
[[Docker/Containerisieren|Containerisieren]]
;Weiter
[[Docker/Datenbank|Datenbank]]


Jeder Container hat eine NAME-Eigenschaft.
<noinclude>
* 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 ==
== Anhang ==
# Starten Sie nun Ihre aktualisierte Anwendung mit dem Befehl docker run
=== Siehe auch ===
#: <syntaxhighlight lang="bash" highlight="1" line copy>docker run -dp 127.0.0.1:3000:3000 getting-started</syntaxhighlight>
<div style="column-count:2">
#: oder, wenn Sie den Port nach außen veröffentlichen:
<categorytree hideroot=on mode="pages">Docker</categorytree>
#: <syntaxhighlight lang="bash" highlight="1" line copy>
</div>
docker run -dp 3000:3000 getting-started</syntaxhighlight>
----
# Aktualisieren Sie Ihren Browser auf [http://localhost:3000/ http://localhost:3000] und Sie sollten Ihren aktualisierten Hilfetext sehen
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}


== [https://docs.docker.com/get-started/workshop/03_updating_app/#summary Zusammenfassung] ==
=== Dokumentation ===
In diesem Abschnitt haben Sie gelernt, wie Sie ein Image aktualisieren und neu erstellen und wie Sie einen Container stoppen und entfernen können
# https://docs.docker.com/reference/cli/docker
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]


Verwandte Informationen
; Info-Pages
* [https://docs.docker.com/reference/cli/docker/ Docker CLI-Referenz]
-->


=== [https://docs.docker.com/get-started/workshop/03_updating_app/#next-steps Nächste Schritte] ===
=== Links ===
Als Nächstes lernen Sie, wie Sie Images mit anderen teilen können
==== Projekt ====
==== Weblinks ====
# https://docs.docker.com/get-started/workshop/03_updating_app


[https://docs.docker.com/get-started/workshop/04_sharing_app/ Freigeben der Anwendung]
[[Kategorie:Docker]]


[[Kategorie:Docker/Workshop]]
</noinclude>

Aktuelle Version vom 4. November 2025, 15:09 Uhr

Docker/Aktualisieren - Beschreibung

Beschreibung

Aktualisieren von Anwendungen

In Docker/Containerisieren wurde eine ToDo-Anwendung containerisiert

  • Hier sollen die Anwendung und das Image aktualisiert werden
Themen
  • Image aktualisieren
  • Image neu erstellen
  • Container stoppen
  • Container entfernen

Quellcode aktualisieren

Ändern von "No items yet! Add one above!" in "Sie haben noch keine ToDo-Einträge! Fügen Sie oben einen hinzu!", wenn keine ToDo-Listeneinträge vorhanden sind

Quellcode ändern

Hilfetext ändern

Ä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>

Aktualisiertes Images erstellen

docker buildx build -t getting-started .

Aktualisierten Container starten

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 <server_ip>: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

Um Container zu entfernen, müssen Sie zunächst angehalten werden

Container-ID ermitteln
docker ps
Container anhalten

Ersetzen Sie <container-id> durch die ID von docker ps

docker stop <container-id>
Container entfernen
docker rm <container-id>
Container mit einem einzigen Befehl stoppen und entfernen
 docker rm -f <container-id>
Container-Namen

Anstelle von 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

Aktualisierten Container starten

docker run -dp 3000:3000 getting-started

Aktualisieren Sie Ihren Browser auf <server_ip>:3000 und Sie sollten Ihren aktualisierten Hilfetext sehen

Nächste Schritte

Images mit anderen teilen

Docker/Freigeben


Zurück

Containerisieren

Weiter

Datenbank


Anhang

Siehe auch



Dokumentation

  1. https://docs.docker.com/reference/cli/docker

Links

Projekt

Weblinks

  1. https://docs.docker.com/get-started/workshop/03_updating_app