Einführung
Docker-Images in einem laufenden Container werden nicht automatisch aktualisiert. Sobald Sie ein Image zum Erstellen eines Containers verwendet haben, wird diese Version weiterhin ausgeführt, auch wenn neue Versionen herauskommen.
Es wird empfohlen, Container vom neuesten Docker-Image auszuführen, es sei denn, Sie haben einen bestimmten Grund, eine ältere Version zu verwenden.
In diesem Tutorial erfahren Sie, wie Sie das Docker-Image und den Container auf die neueste Version aktualisieren.
Voraussetzungen
- Zugriff auf ein Befehlszeilen-/Terminalfenster
- Ein Benutzerkonto mit sudo Privilegien
- Eine vorhandene Docker-Installation
- Ein vorhandener Docker-Container und Docker-Image
Docker-Image und -Container auf die neueste Version aktualisieren
Die beste Möglichkeit, einen vorhandenen Container mit dem neuesten Image zu aktualisieren, besteht darin, das neueste Image herunterzuladen und einen neuen Container mit derselben Konfiguration zu starten. Führen Sie die unten aufgeführten Schritte aus, um Ihren Container mit dem neuesten Docker-Image zu aktualisieren.
Schritt 1:Aktuelle Version prüfen
Stellen Sie sicher, dass Sie ein veraltetes Image haben, indem Sie die Images auf Ihrem System mit dem folgenden Befehl auflisten:
sudo docker images
Die Ausgabe zeigt heruntergeladene Bilder und ihre Tags (Versionsnummern) an. Im Beispiel unten zeigt das System, dass es mysql verwendet Bildversion 5.7.31 . Die offiziellen MySQL-Images von Docker, die auf DockerHub aufgelistet sind, zeigen, dass die neueste Version (zum Zeitpunkt des Schreibens) 8.0.21 ist .
Wenn Sie also einen Container haben, der auf diesem Image läuft, ist es am besten, ihn zu aktualisieren.
Schritt 2:Neuestes Bild abrufen
Laden Sie die neuere Version des Images mit docker pull
herunter Befehl:
sudo docker pull [docker_image]
Standardmäßig ruft Docker die neueste Version ab. Um dies sicherzustellen, können Sie :latest
hinzufügen -Tag.
Um beispielsweise das neueste MySQL-Image abzurufen, würden Sie Folgendes ausführen:
sudo docker pull mysql/mysql-server:latest
Schritt 3:Starten Sie einen neuen aktualisierten Container
Nachdem Sie das neueste Docker-Image heruntergeladen haben, müssen Sie den alten Container stoppen und entfernen. Erstellen Sie dann ein neues mit dem neuesten Bild.
1. Suchen Sie den Namen des laufenden Containers mit dem veralteten Image, indem Sie die Container auf dem System auflisten:
sudo docker ps
In diesem Beispiel zeigt die Ausgabe einen Container mit mysql/mysql-server:5.7.31 Bild.
2. Halten Sie den vorhandenen Container an und entfernen Sie ihn, damit Sie einen neuen unter demselben Namen starten können:
sudo docker stop [container_id]
sudo docker rm [container_id]
Ersetzen Sie [container_id]
mit der ID-Nummer des Containers.
3. Erstellen Sie den Container mit docker run
neu Befehl und die gewünschte Konfiguration unter Verwendung des aktualisierten Docker-Images:
sudo docker run --name=[container_name] [options] [docker_image]
Wenn Sie einen haben, stellen Sie sicher, dass Sie ein Docker-Volume mounten, das dem zuvor verwendeten Container zugewiesen ist, um sicherzustellen, dass der aktualisierte Container denselben Inhalt hat. Verwenden Sie dazu das -v
Option gefolgt vom Pfad zum Volume-Verzeichnis.
Um beispielsweise einen aktualisierten MySQL-Container auszuführen, würden Sie Folgendes ausführen:
sudo docker run --name=mysql --restart=always -e MYSQL_ROOT_PASSWORD=mypassword -v /path/to/directory:/var/lib/mysql -d mysql
4. Sie können überprüfen, ob Ihr Container mit dem neuesten Docker-Image aktualisiert wurde, indem Sie die Container auflisten mit:
sudo docker ps