Comment mettre à niveau vers Docker Compose v2
Agence web » Actualités du digital » Comment installer et démarrer avec Docker Desktop sous Linux

Comment installer et démarrer avec Docker Desktop sous Linux

Docker Desktop est une solution de conteneurisation populaire qui regroupe tout ce dont vous avez besoin pour créer des images et exécuter des conteneurs. Un téléchargement vous offre Docker, Docker Compose, Kubernetes, une interface graphique complète et la prise en charge d’une large sélection d’extensions tierces.

Docker Desktop a toujours été limité aux systèmes Windows et Mac. Les utilisateurs de Linux ont dû installer Docker Engine manuellement et interagir avec lui depuis le terminal ou une interface utilisateur distincte. Docker a annoncé une version de Desktop pour Linux à DockerCon 2022, offrant enfin la parité des fonctionnalités sur les trois principales plates-formes. Ce guide vous montrera comment le configurer et commencer.

Préparation à l’exécution de Docker Desktop

Les étapes de cet article ont été testées dans un environnement Ubuntu 22.04 propre. Les ordinateurs de bureau sont également pris en charge sur Ubuntu 21.10, Debian 11 et Fedora 35/36. La documentation spécifique à la distribution est disponible sur le site Web de Docker.

Desktop nécessite un système 64 bits avec 4 Go de RAM et la virtualisation matérielle KVM activée. Le module du noyau KVM est généralement activé automatiquement lorsque votre hôte prend en charge la virtualisation. Vous pouvez vérifier en exécutant le kvm-ok commande:

$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

Activez la virtualisation dans le BIOS ou l’UEFI de votre système si kvm-ok signale une erreur. Vous pouvez également essayer de charger manuellement le module du noyau KVM à l’aide de modprobe:

# 1/2
$ sudo modprobe kvm

# 2/2 INTEL ONLY
$ sudo modprobe kvm_intel

# 2/2 AMD ONLY
$ sudo modprobe kvm_amd

Docker Desktop n’est pas conçu pour fonctionner avec Docker Engine. Vous devez arrêter le service Docker si vous avez déjà utilisé Docker Engine sur votre machine. Cela réduira la consommation de ressources et minimisera le risque de conflits entre Engine et Desktop.

$ sudo service docker stop

Installation de Docker Desktop

Le package Docker Desktop n’est pas encore disponible dans les référentiels, il doit donc être acquis manuellement. Téléchargez le bon package pour votre système d’exploitation en utilisant les liens de la documentation.

$ wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.12.0-amd64.deb

Le package Docker Desktop dépend d’autres packages du référentiel Docker. Bien que Desktop lui-même ne soit pas installé à partir du référentiel, vous en avez toujours besoin dans votre liste de sources afin que les dépendances puissent être résolues. Exécutez la séquence de commandes suivante pour ajouter le référentiel Apt de Docker à votre ordinateur :

$ sudo apt update
$ sudo apt-get install -y 
    ca-certificates 
    curl 
    gnupg 
    lsb-release

# Download the GPG key used to sign the packages in the repository
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# Add the repository to your package sources list
$ echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt update

Vous pouvez maintenant installer le package Desktop avec Apt install commande:

$ sudo apt install -y ./docker-desktop-4.12.0-amd64.deb

Docker Desktop devrait maintenant apparaître dans votre liste d’applications.

Utilisation du bureau Docker

Démarrez Docker Desktop à partir du lanceur d’applications de votre système d’exploitation. Vous devriez voir l’icône Docker Whale apparaître dans votre barre d’état système. Cliquez sur l’icône pour afficher le menu de la barre d’état de Docker.

image du menu de la barre d'état système de Docker Desktop sur Ubuntu

Le processus d’initialisation de la première exécution peut prendre quelques minutes. L’animation de l’icône s’arrêtera et la ligne d’état en haut du menu deviendra « Docker Desktop est en cours d’exécution » lorsque Docker sera prêt à être utilisé. Cliquez sur l’élément « Tableau de bord » en haut du menu pour ouvrir l’interface utilisateur s’il n’apparaît pas automatiquement.

Vous serez invité à accepter les conditions d’utilisation et serez ensuite redirigé vers l’écran Conteneurs. Vous pouvez éventuellement vous connecter à Docker Hub en cliquant sur le bouton Connexion dans la barre de titre et en suivant les invites.

image de l'écran d'accueil de Docker Desktop

Essayez de courir docker et docker compose dans votre terminal pour vérifier que les CLI sont disponibles :

$ docker version
Client: Docker Engine - Community
 Cloud integration: v1.0.29
 Version:           20.10.18
...

$ docker compose version
Docker Compose version v2.10.2

Démarrez ensuite un conteneur pour vérifier le fonctionnement de votre installation :

$ docker run -d -p 80:80 docker/getting-started

Votre nouveau conteneur devrait apparaître dans l’interface utilisateur de Docker Desktop. Cliquez sur l’icône des trois points à droite du tableau pour afficher une liste d’actions que vous pouvez effectuer dans Docker Desktop, telles que l’ouverture d’un terminal à l’intérieur du conteneur ou la visite de ports publiés dans votre navigateur.

image de l'interface des conteneurs Docker Desktop

L’onglet Images sur le côté gauche de l’écran fournit un tableau de toutes les images de conteneurs présentes sur votre hôte. Des contrôles sont disponibles pour nettoyer les images inutilisées, démarrer rapidement un nouveau conteneur à partir d’une image et transférer et extraire des images entre différents registres.

image des images dans l'interface Docker Desktop

Vous pouvez obtenir plus d’informations sur l’utilisation de Docker Desktop dans la documentation. La fonctionnalité couvre de nombreux docker Commandes CLI tout en superposant des concepts supplémentaires de niveau supérieur tels que les environnements de développement pour le partage de code de travail en cours.

Activer Kubernetes

Docker Desktop a intégré la prise en charge de Kubernetes, mais elle n’est pas activée par défaut. Activez-le en cliquant sur l’icône de rouage des paramètres dans la barre de titre de l’application, puis en sélectionnant « Kubernetes » dans le menu de gauche.

image des paramètres Kubernetes dans Docker Desktop

Cochez la case « Activer Kubernetes » et appuyez sur le bouton « Appliquer et redémarrer » en bas à droite. Docker peut prendre plusieurs minutes pour acquérir les composants Kubernetes et créer votre cluster. Une icône d’état Kubernetes apparaîtra en bas à gauche de l’application, à côté de l’icône Docker. Il deviendra vert lorsque Kubernetes sera prêt à être utilisé. L’état de Kubernetes est également affiché en haut du menu de la barre d’état de Docker Desktop.

Installez ensuite Kubectl. Il s’agit de la CLI utilisée pour interagir avec votre cluster Kubernetes. Le package Snap officiel est le moyen le plus simple de l’ajouter à Ubuntu :

$ sudo snap install kubectl

Essayez maintenant d’utiliser Kubectl pour accéder à votre cluster :

$ kubectl get nodes
NAME             STATUS   ROLES           AGE   VERSION
docker-desktop   Ready    control-plane   22m   v1.25.0

La docker-desktop le nœud s’affiche comme Ready pour commencer à créer des pods :

$ kubectl run nginx --image nginx:latest
pod/nginx created

Exposez votre Pod avec un service :

$ kubectl expose pod/nginx --port 80 --type NodePort
service/nginx exposed

Recherchez maintenant le port hôte qui a été alloué au service :

$ kubectl get services
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        23m
nginx        NodePort    10.96.132.212   <none>        80:30107/TCP   75s

Le numéro de port est 30107. Utilisez ce port pour accéder à votre service et récupérer la page de destination NGINX par défaut :

$ curl http://localhost:30107
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>

Votre cluster Kubernetes est pleinement opérationnel. Il démarrera automatiquement chaque fois que Docker Desktop sera en cours d’exécution.

Docker Desktop contre Docker Engine

Docker Engine est complètement séparé de Docker Desktop. Docker Engine lance les conteneurs en tant que processus directement sur votre hôte. Il utilise un service système pour exécuter le démon Docker. La docker L’interface de ligne de commande cible cette instance de démon lorsque vous émettez des commandes.

Docker Desktop exécute vos conteneurs dans une machine virtuelle QEMU. Vous n’avez pas à interagir directement avec QEMU car la création et la gestion de la machine virtuelle sont gérées pour vous. Le lancement de Docker Desktop démarre automatiquement la machine virtuelle ; quitter l’application la fermera.

L’architecture VM était une nécessité pour exécuter Docker sur les systèmes Windows et Mac. Il fournit un environnement prévisible pour l’hébergement de conteneurs Linux. L’équipe Docker a décidé de continuer à utiliser des VM pour Desktop sur Linux afin d’éviter les incohérences entre les plates-formes.

Bien que la machine virtuelle n’affecte pas l’utilisation quotidienne de Docker, c’est une solution plus lourde qui demande plus de ressources que Docker Engine. Vous pouvez vous attendre à ce que la machine virtuelle consomme environ 2 Go de RAM lorsqu’elle est inactive, même lorsqu’aucun conteneur n’est en cours d’exécution. La consommation de mémoire de Docker Engine serait négligeable dans la même situation.

Cela signifie que Docker Engine reste le meilleur moyen d’exécuter des conteneurs sur Linux dans des environnements de production ou partout où les performances sont critiques. Desktop est une excellente option pour les développeurs qui souhaitent utiliser le même flux de travail entièrement intégré que leurs homologues sur Windows et Mac. Desktop est également le meilleur choix lorsque vous souhaitez utiliser Kubernetes sans ajouter d’outils supplémentaires. Vous aurez besoin d’un environnement Kubernetes dédié tel que Minikube ou MicroK8s si vous utilisez Docker Engine.

Configuration du démon Docker de Desktop

Vous pouvez personnaliser la configuration du démon Docker utilisée par Desktop en cliquant sur l’icône de rouage des paramètres dans la barre de titre et en vous dirigeant vers l’onglet « Docker Engine » à gauche de l’écran.

image de la gestion des paramètres de Docker Engine dans Docker Desktop

Tapez ou collez vos modifications dans l’entrée fournie, puis appuyez sur « Appliquer et redémarrer » dans le coin inférieur droit.

Personnalisation des limites de ressources

Docker Desktop limite automatiquement les ressources que sa machine virtuelle peut consommer. Les valeurs par défaut sont la moitié du nombre total de cœurs de processeur disponibles, 25 % de la mémoire système et un fichier d’échange de 1 Go.

image des paramètres de consommation de ressources dans Docker Desktop

Ces limites peuvent être modifiées en vous rendant sur l’écran des paramètres de Docker Desktop et en cliquant sur l’onglet « Ressources » dans le menu de gauche. Utilisez les curseurs pour personnaliser le plafond de chaque ressource. Vous pouvez redimensionner le disque virtuel utilisé pour stocker les données de la VM en faisant défiler l’écran. Cliquez sur le bouton « Appliquer et redémarrer » en bas à droite lorsque vous avez terminé.

Sommaire

Docker Desktop est une solution de conteneurisation orientée développeur qui combine les docker CLI avec une interface graphique polyvalente et une prise en charge intégrée de Kubernetes. L’arrivée de Desktop sur Linux signifie que les équipes de développement peuvent standardiser sur une chaîne d’outils cohérente, quelles que soient les préférences de plate-forme des ingénieurs individuels.

Docker Desktop est mieux considéré comme une alternative à Docker Engine. Il fournit son propre environnement de conteneur, y compris un moteur Docker virtualisé et une suite complète d’interfaces de ligne de commande Docker. Vous ne pouvez pas utiliser l’interface graphique de bureau avec une installation Docker Engine existante. Desktop est plus applicable aux postes de travail de développeur tandis que Docker Engine doit être utilisé sur des serveurs de production où vous n’avez pas besoin d’une interface graphique et souhaitez éviter les frais généraux liés à l’exécution d’une machine virtuelle.

★★★★★