| 
				   | 
				
| Zeile 61: | 
Zeile 61: | 
 | 
  |  | 
  | 
 | </noinclude>  |  | </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. 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. 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 .
  |  | 
 | </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
  |  | 
 | </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
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | 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
  |  | 
 | (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.
  |  | 
 | 
  |  | 
 | Um dies zu beheben, müssen Sie den alten 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.
  |  | 
 | 
  |  | 
 | === [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
  |  | 
 | #:<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
  |  | 
 | #:<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.
  |  | 
 | 
  |  | 
 | 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 ==
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | docker run -dp 127.0.0.1:3000:3000 getting-started</syntaxhighlight>
  |  | 
 | </syntaxhighlight>
  |  | 
 | 
  |  | 
 | ; Wenn Sie den Port nach außen veröffentlichen
  |  | 
 | <syntaxhighlight lang="bash" highlight="1" line copy>
  |  | 
 | 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
  |  | 
 | 
  |  | 
 | == Nächste Schritte ==
  |  | 
 | Als Nächstes lernen Sie, wie Sie Images mit anderen teilen können
  |  | 
 | # https://docs.docker.com/get-started/workshop/03_updating_app/#next-steps 
  |  | 
 | # [https://docs.docker.com/get-started/workshop/04_sharing_app/ Freigeben der Anwendung]
  |  | 
 | 
  |  | 
  | 
 | [[Kategorie:Docker/Workshop]]  |  | [[Kategorie:Docker/Workshop]]  |