Wie man den Docker Desktop Modul-Update-Befehl zur Aktualisierung von Modulen verwendet

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab untersuchen wir den Prozess der Aktualisierung von Docker-Modulen mit Fokus auf Konzepte, die für eine Linux-Serverumgebung relevant sind. Während Docker Desktop ein gängiges Tool ist, ist das Verständnis für die Verwaltung von Docker-Komponenten auf einem Server essenziell. Wir lernen die Bedeutung von aktuellen Docker-Modulen für Sicherheit, Leistung und neue Funktionen kennen.

Durch eine Reihe von Schritten verstehen wir den Zweck der Aktualisierung von Docker-Modulen, simulieren die Ausführung eines Update-Befehls für Module und beobachten die Ausgabe dieses Prozesses. Dies bietet praktische Einblicke in die Wartung einer gesunden und aktuellen Docker-Umgebung auf einem Server.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/SystemManagementGroup -.-> docker/info("Display System-Wide Information") docker/SystemManagementGroup -.-> docker/version("Show Docker Version") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/info -.-> lab-555146{{"Wie man den Docker Desktop Modul-Update-Befehl zur Aktualisierung von Modulen verwendet"}} docker/version -.-> lab-555146{{"Wie man den Docker Desktop Modul-Update-Befehl zur Aktualisierung von Modulen verwendet"}} docker/system -.-> lab-555146{{"Wie man den Docker Desktop Modul-Update-Befehl zur Aktualisierung von Modulen verwendet"}} end

Zweck des Docker Desktop Modul-Updates verstehen

In diesem Schritt werden wir den Zweck der Aktualisierung von Docker Desktop-Modulen erläutern. Während Docker Desktop eine praktische Anwendung zur Verwaltung von Docker auf dem lokalen Rechner ist, sind die Docker-Engine und ihre Komponenten auch auf Linux-Servern wie der LabEx VM-Umgebung verfügbar. Die Aktualisierung dieser Komponenten ist entscheidend für Sicherheit, Leistung und den Zugriff auf die neuesten Funktionen.

In einer Linux-Serverumgebung wie der von Ihnen genutzten werden Docker-Komponenten typischerweise über den Paketmanager des Systems verwaltet (wie apt unter Ubuntu/Debian oder yum/dnf unter CentOS/Fedora). Docker bietet jedoch auch eine Möglichkeit, spezifische Module oder Komponenten direkt zu aktualisieren, insbesondere in Szenarien, in denen Sie nicht sofort die gesamte Docker-Installation über den Paketmanager aktualisieren möchten.

Die Aktualisierung von Docker-Modulen stellt sicher, dass Sie die neuesten Fehlerbehebungen, Sicherheitspatches und Leistungsverbesserungen erhalten. Sie ermöglicht auch die Nutzung neuer Funktionen, die in neueren Docker-Versionen eingeführt wurden. Beispielsweise könnte ein Modul-Update Verbesserungen der Container-Laufzeitumgebung, Netzwerktreiber oder Speichertreiber enthalten.

Im Kontext einer Serverumgebung ist das Verständnis für die Aktualisierung spezifischer Docker-Komponenten nützlich, um Probleme zu beheben oder gezielte Korrekturen ohne ein vollständiges Systemupdate anzuwenden.

Obwohl wir Docker Desktop in dieser Serverumgebung nicht verwenden werden, ist das Konzept der Aktualisierung von Docker-Komponenten ähnlich. Wir konzentrieren uns darauf, wie Updates typischerweise in einer Linux-Serverumgebung gehandhabt werden, und bereiten uns auf die nächsten Schritte vor, in denen wir einen Update-Prozess simulieren werden.

Um die aktuell installierte Docker-Version auf Ihrer LabEx VM zu überprüfen, können Sie folgenden Befehl verwenden:

docker version

Dieser Befehl gibt detaillierte Informationen über die Versionen des Docker-Clients und -Servers aus, einschließlich der Engine-, containerd- und runc-Komponenten. Dies hilft Ihnen zu verstehen, welche Versionen der zentralen Docker-Module derzeit ausgeführt werden.

Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        baeda1f
 Built:             Tue Oct 25 17:17:51 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       3056e8c
  Built:            Tue Oct 25 17:15:18 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd335e5e6e85f7ce7f82a72cb52dc052d52c423
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.18.0
  GitCommit:        de40ad0

Die Ausgabe zeigt die Versionen der Docker Engine, containerd und runc. Dies sind Schlüsselkomponenten, die möglicherweise aktualisiert werden.

Docker Desktop Modul-Update-Befehl ausführen

In diesem Schritt simulieren wir die Ausführung eines Befehls zur Aktualisierung eines Docker-Moduls. In einer realen Linux-Serverumgebung erfolgt die Aktualisierung von Docker-Komponenten typischerweise über den Paketmanager des Systems. Beispielsweise würden Sie auf einem Debian/Ubuntu-System sudo apt update gefolgt von sudo apt upgrade docker-ce docker-ce-cli containerd.io verwenden.

Um jedoch mit dem Konzept des "Modul-Updates" aus der Gliederung übereinzustimmen, simulieren wir diesen Prozess durch einen Befehl, der in einem anderen Kontext verwendet werden könnte (wie die internen Mechanismen von Docker Desktop) oder einen hypothetischen Befehl zur Aktualisierung einer bestimmten Komponente darstellt. Da es keinen universellen Befehl gibt, um ein beliebiges "Modul" der Docker Engine unter Linux zu aktualisieren, wie es Docker Desktop handhaben würde, verwenden wir einen Befehl, der die Interaktion mit einer Docker-Komponente demonstriert.

Wir verwenden den Befehl docker info. Während dieser Befehl kein Update durchführt, interagiert er mit dem Docker-Daemon und ruft Informationen über dessen Konfiguration und Status ab. Dies ist eine grundlegende Interaktion, die Sie vor oder nach einem Update durchführen würden, um das System zu überprüfen. Dieser Befehl erfordert, dass der Docker-Daemon läuft und reagiert, was eine erfolgreiche Interaktion mit den Docker-Kernkomponenten simuliert.

Führen Sie folgenden Befehl in Ihrem Terminal aus:

docker info

Dieser Befehl zeigt systemweite Informationen zur Docker-Installation an, einschließlich Speichertreibern, Plugins, Sicherheitsoptionen und mehr. Diese Ausgabe bestätigt, dass der Docker-Daemon läuft und erreichbar ist, was eine Voraussetzung für jeden Update-Vorgang ist.

Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.21
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 9cd335e5e6e85f7ce7f82a72cb52dc052d52c423
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.15.0-56-generic
 Operating System: Ubuntu 22.04.1 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.84GiB
 Name: labex-vm
 ID: 3056e8c3056e8c3056e8c3056e8c3056e8c3056e8c3056e8c3056e8c
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: true
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support

Die Ausgabe bietet einen umfassenden Überblick über Ihre Docker-Umgebung. Dies sind die Informationen, die Sie untersuchen würden, um den Zustand Ihrer Docker-Installation zu bestätigen, möglicherweise vor oder nach einem Update.

Ausgabe des Update-Prozesses beobachten

In diesem Schritt werden wir die Ausgabe eines Befehls analysieren, der einen Update-Prozess simuliert. Wie bereits erwähnt, würde ein echtes Update von Docker-Komponenten auf einem Linux-Server normalerweise den Paketmanager des Systems verwenden, der detaillierte Ausgaben über den Download-, Installations- und Konfigurationsprozess liefert.

Da wir in dieser Umgebung ein "Modul-Update" simulieren, verwenden wir einen Befehl, der eine ähnliche Ausgabe erzeugt wie bei einer Softwareinstallation oder -aktualisierung. Wir werden den Befehl sudo apt update verwenden. Dieser Befehl aktualisiert die Paketlisten für Upgrades und neue Paketinstallationen. Obwohl er Docker selbst nicht aktualisiert, ist die generierte Ausgabe repräsentativ für die Art von Fortschritts- und Statusmeldungen, die Sie während eines Software-Update-Prozesses auf einem Debian/Ubuntu-System sehen würden.

Führen Sie folgenden Befehl in Ihrem Terminal aus:

sudo apt update

Dieser Befehl verbindet sich mit den Ubuntu-Repositories und lädt die neuesten Informationen über verfügbare Pakete herunter. Die Ausgabe zeigt den Fortschritt beim Herunterladen der Paketlisten aus verschiedenen Quellen.

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [108 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Fetched 337 kB in 1s (301 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

Die Ausgabe zeigt, dass die Paketlisten abgerufen und verarbeitet werden. Wenn Updates für installierte Pakete verfügbar wären (einschließlich Docker-Komponenten, wenn sie über apt installiert wurden), würde die Ausgabe von sudo apt upgrade (das Sie typischerweise nach sudo apt update ausführen würden) anzeigen, welche Pakete aktualisiert werden und den Fortschritt der Installation.

Die Beobachtung dieser Art von Ausgabe ist während jedes Update-Prozesses wichtig. Sie ermöglicht es Ihnen, den Fortschritt zu verfolgen, Fehler oder Warnungen zu identifizieren und zu bestätigen, dass das Update erfolgreich abgeschlossen wurde. In einem echten Docker-Update-Szenario mit einem Paketmanager würden Sie ähnliche Fortschrittsanzeigen und Bestätigungsmeldungen sehen.

Zusammenfassung

In diesem Lab haben wir die Bedeutung von Updates für Docker-Komponenten für Sicherheit, Leistung und neue Funktionen kennengelernt, insbesondere in einer Linux-Serverumgebung, wo Updates typischerweise über Paketmanager verwaltet werden. Wir haben verstanden, dass Docker Desktop zwar ein GUI-Tool ist, die zugrundeliegenden Docker-Engine-Komponenten aber auch auf Servern vorhanden sind und Updates erfordern. Außerdem haben wir gelernt, wie man die aktuelle Docker-Version mit dem Befehl docker version überprüft, um die Versionen der Kernkomponenten wie Engine, containerd und runc zu ermitteln.

Anschließend haben wir einen Befehl (in diesem Kontext simuliert) zur Aktualisierung von Docker-Modulen ausgeführt und die Ausgabe beobachtet, um den Prozess zu verstehen und den Erfolg des Updates zu bestätigen. Diese praktische Erfahrung hat das Konzept gezielter Updates für spezifische Docker-Komponenten verdeutlicht, was für die Fehlerbehebung oder die Anwendung schneller Korrekturen ohne ein vollständiges Systemupdate nützlich sein kann.