Zum Inhalt springen

Docker/Aktualisieren

Aus Foxwiki

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

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, kanner mit docker rm entfernen werden

docker rm <der-container-id>
Container mit einem einzigen Befehl stoppen und entfernen

Force-Flag zum Befehl docker rm hinzufügen

 docker rm -f <der-container-id>

Anstelle von <der-container-id> kann auch <der-container-name> verwendet werden

Name

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
  1. https://docs.docker.com/get-started/workshop/03_updating_app/#remove-a-container-using-the-cli

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
  1. https://docs.docker.com/get-started/workshop/03_updating_app/#next-steps
  2. https://docs.docker.com/get-started/workshop/04_sharing_app


Anhang

Siehe auch



Dokumentation

Links

Projekt

Weblinks

  1. https://docs.docker.com/get-started/workshop/03_updating_app/#update-the-source-code
  2. https://docs.docker.com/get-started/workshop/03_updating_app/#remove-the-old-container
  3. https://docs.docker.com/get-started/workshop/03_updating_app/#start-the-updated-app-container
  4. https://docs.docker.com/reference/cli/docker