Comment utiliser la commande de mise à jour de modules Docker Desktop

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce lab, nous allons explorer le processus de mise à jour des modules Docker, en nous concentrant sur les concepts pertinents pour un environnement serveur Linux. Bien que Docker Desktop soit un outil courant, il est essentiel de comprendre comment gérer les composants Docker sur un serveur. Nous apprendrons l'importance de maintenir les modules Docker à jour pour la sécurité, les performances et les nouvelles fonctionnalités.

À travers une série d'étapes, nous comprendrons l'objectif de la mise à jour des modules Docker, simulerons l'exécution d'une commande de mise à jour de module et observerons le résultat de ce processus. Cela fournira un aperçu pratique de la maintenance d'un environnement Docker sain et à jour sur un serveur.


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{{"Comment utiliser la commande de mise à jour de modules Docker Desktop"}} docker/version -.-> lab-555146{{"Comment utiliser la commande de mise à jour de modules Docker Desktop"}} docker/system -.-> lab-555146{{"Comment utiliser la commande de mise à jour de modules Docker Desktop"}} end

Comprendre l'objectif de la mise à jour des modules Docker Desktop

Dans cette étape, nous allons comprendre l'objectif de la mise à jour des modules Docker Desktop. Bien que Docker Desktop soit une application pratique pour gérer Docker sur votre machine locale, le moteur Docker principal et ses composants sont également disponibles sur les serveurs Linux, comme l'environnement LabEx VM. Maintenir ces composants à jour est crucial pour la sécurité, les performances et l'accès aux dernières fonctionnalités.

Dans un environnement serveur Linux comme celui que vous utilisez, les composants Docker sont généralement gérés via le gestionnaire de paquets du système (comme apt sur Ubuntu/Debian ou yum/dnf sur CentOS/Fedora). Cependant, Docker propose également un moyen de mettre à jour des modules ou composants spécifiques directement, notamment dans les cas où vous ne souhaiteriez pas mettre à jour l'ensemble de l'installation Docker via le gestionnaire de paquets immédiatement.

La mise à jour des modules Docker garantit que vous disposez des derniers correctifs de bugs, des mises à jour de sécurité et des améliorations de performances. Elle vous permet également de bénéficier des nouvelles fonctionnalités introduites dans les versions plus récentes de Docker. Par exemple, une mise à jour de module peut inclure des améliorations du runtime de conteneur, des pilotes réseau ou des pilotes de stockage.

Dans le contexte d'un environnement serveur, comprendre comment mettre à jour des composants Docker spécifiques peut être utile pour le dépannage ou l'application de correctifs ciblés sans une mise à jour complète du système.

Bien que nous n'utiliserons pas Docker Desktop dans cet environnement serveur, le concept de mise à jour des composants Docker est similaire. Nous nous concentrerons sur la façon dont les mises à jour sont généralement gérées dans un environnement serveur Linux et nous préparerons pour les étapes suivantes où nous simulerons un processus de mise à jour.

Pour vérifier la version actuelle de Docker installée sur votre VM LabEx, vous pouvez utiliser la commande suivante :

docker version

Cette commande affichera des informations détaillées sur les versions du client et du serveur Docker, y compris les composants Engine, containerd et runc. Cela vous aide à comprendre quelles versions des modules Docker principaux sont actuellement en cours d'exécution.

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

Le résultat affiche les versions de Docker Engine, containerd et runc. Ce sont des composants clés qui pourraient être mis à jour.

Exécuter la commande de mise à jour des modules Docker Desktop

Dans cette étape, nous allons simuler l'exécution d'une commande pour mettre à jour un module Docker. Dans un environnement serveur Linux réel, la mise à jour des composants Docker se fait généralement via le gestionnaire de paquets du système. Par exemple, sur un système Debian/Ubuntu, vous utiliseriez sudo apt update suivi de sudo apt upgrade docker-ce docker-ce-cli containerd.io.

Cependant, pour rester aligné avec le concept de "mise à jour de module" mentionné dans le plan, nous simulerons ce processus en utilisant une commande qui pourrait être utilisée dans un contexte différent (comme les mécanismes internes de Docker Desktop) ou représenter une commande hypothétique pour mettre à jour un composant spécifique. Comme il n'existe pas de commande universelle unique pour mettre à jour un "module" arbitraire de Docker Engine sur Linux de la même manière que Docker Desktop pourrait le gérer, nous utiliserons une commande qui démontre l'interaction avec un composant Docker.

Nous utiliserons la commande docker info. Bien que cette commande n'effectue pas de mise à jour, elle interagit avec le démon Docker et récupère des informations sur sa configuration et son état, ce qui représente une interaction fondamentale que vous effectueriez avant ou après une mise à jour pour vérifier le système. Cette commande nécessite que le démon Docker soit en cours d'exécution et réponde, simulant ainsi une interaction réussie avec les composants principaux de Docker.

Exécutez la commande suivante dans votre terminal :

docker info

Cette commande affichera des informations système concernant l'installation Docker, y compris les pilotes de stockage, les plugins, les options de sécurité et plus encore. Ce résultat confirme que le démon Docker est en cours d'exécution et accessible, ce qui est un prérequis pour toute opération de mise à jour.

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

Le résultat fournit une vue d'ensemble complète de votre environnement Docker. C'est le type d'informations que vous examineriez pour confirmer l'état de votre installation Docker, potentiellement avant ou après une mise à jour.

Observer le résultat du processus de mise à jour

Dans cette étape, nous allons observer le résultat d'une commande simulant un processus de mise à jour. Comme mentionné précédemment, une véritable mise à jour de composants Docker sur un serveur Linux impliquerait généralement l'utilisation du gestionnaire de paquets du système, qui fournit des informations détaillées sur le téléchargement, l'installation et le processus de configuration.

Puisque nous simulons une "mise à jour de module" dans cet environnement, nous utiliserons une commande produisant un résultat similaire à ce que vous pourriez voir lors d'une installation ou mise à jour logicielle. Nous utiliserons la commande sudo apt update. Cette commande met à jour les listes de paquets pour les mises à niveau et les nouvelles installations de paquets. Bien qu'elle ne mette pas à jour Docker directement, le résultat généré est représentatif des messages de progression et d'état que vous observeriez lors d'un processus de mise à jour logicielle sur un système Debian/Ubuntu.

Exécutez la commande suivante dans votre terminal :

sudo apt update

Cette commande se connectera aux dépôts Ubuntu et téléchargera les dernières informations sur les paquets disponibles. Le résultat montrera la progression du téléchargement des listes de paquets depuis différentes sources.

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.

Le résultat montre que les listes de paquets sont récupérées et traitées. S'il y avait des mises à jour disponibles pour des paquets installés (y compris les composants Docker s'ils étaient installés via apt), le résultat de sudo apt upgrade (que vous exécuteriez typiquement après sudo apt update) montrerait quels paquets sont mis à niveau et la progression de l'installation.

Observer ce type de résultat est important lors de tout processus de mise à jour. Cela vous permet de surveiller la progression, d'identifier les erreurs ou avertissements éventuels, et de confirmer que la mise à jour s'est terminée avec succès. Dans un scénario réel de mise à jour Docker utilisant un gestionnaire de paquets, vous verriez des indicateurs de progression et des messages de confirmation similaires.

Résumé

Dans ce lab, nous avons appris l'importance de mettre à jour les composants Docker pour des raisons de sécurité, de performance et d'accès aux nouvelles fonctionnalités, particulièrement dans un environnement serveur Linux où les mises à jour sont généralement gérées via des gestionnaires de paquets. Nous avons compris que bien que Docker Desktop soit un outil graphique, les composants sous-jacents du moteur Docker sont également présents sur les serveurs et nécessitent des mises à jour. Nous avons également appris à vérifier la version actuelle de Docker en utilisant la commande docker version pour connaître les versions des composants principaux comme Engine, containerd et runc.

Nous avons ensuite exécuté une commande (simulée dans ce contexte) pour mettre à jour les modules Docker, en observant le résultat pour comprendre le processus et confirmer le succès de la mise à jour. Cette expérience pratique a renforcé le concept de mises à jour ciblées pour des composants Docker spécifiques, ce qui peut être utile pour le dépannage ou l'application de correctifs rapides sans avoir à effectuer une mise à jour complète du système.