Table des matières
- Introduction
- Qu'est-ce que Docker ?
- Comment fonctionne Docker ?
- Docker ou machine virtuelle ?
- Prérequis
- Vérifier la version d'Ubuntu
- Mettre Ubuntu à jour
- Installer les dépendances nécessaires
- Créer le répertoire destiné aux clés GPG
- Télécharger la clé officielle Docker
- Modifier les permissions de la clé
- Ajouter le dépôt officiel Docker
- Actualiser la liste des paquets
- Installer Docker
- Vérifier que Docker est installé
- Vérifier Docker Compose
- Vérifier le service Docker
- Exécuter son premier conteneur
- Comprendre ce qui vient de se passer
- Afficher les conteneurs en cours d'exécution
- Afficher tous les conteneurs
- Afficher les images Docker
- Comprendre la différence entre une image et un conteneur
- Utiliser Docker sans sudo
- Conclusion
Introduction
Docker est aujourd'hui l'un des outils les plus populaires dans le monde de l'administration système, du développement logiciel et du DevOps. Que vous souhaitiez héberger un site web, déployer une base de données ou tester une application, Docker permet de créer des environnements isolés appelés conteneurs. Cette technologie facilite le déploiement des applications tout en garantissant un fonctionnement identique sur tous les ordinateurs et serveurs.
Contrairement aux machines virtuelles traditionnelles, Docker ne nécessite pas l'installation d'un système d'exploitation complet pour chaque application. Les conteneurs partagent le noyau Linux de l'hôte, ce qui les rend beaucoup plus légers, plus rapides à démarrer et moins gourmands en ressources.
Dans ce tutoriel, nous allons apprendre à installer Docker sur Ubuntu 22.04 LTS en utilisant le dépôt officiel fourni par Docker. Cette méthode est recommandée par les développeurs de Docker et garantit de toujours bénéficier des dernières versions stables du logiciel.
À la fin de ce guide, vous saurez :
- comprendre le fonctionnement de Docker ;
- installer Docker sur Ubuntu 22.04 ;
- vérifier que l'installation s'est correctement déroulée ;
- préparer votre système pour les prochains tutoriels consacrés aux conteneurs Docker.
Qu'est-ce que Docker ?
Docker est une plateforme de virtualisation légère qui permet d'exécuter des applications dans des environnements isolés appelés conteneurs.
Un conteneur regroupe tout ce dont une application a besoin pour fonctionner : son code, ses bibliothèques, ses fichiers de configuration ainsi que ses dépendances. Grâce à cette approche, une application fonctionnera exactement de la même manière, quel que soit l'ordinateur ou le serveur sur lequel elle est exécutée.
Prenons un exemple simple. Imaginons que vous développiez un site web sur votre ordinateur. Celui-ci fonctionne parfaitement chez vous, mais une fois copié sur un serveur, il refuse de démarrer parce qu'une version différente de PHP ou d'une bibliothèque est installée. Avec Docker, ce problème disparaît, puisque le conteneur transporte avec lui tout l'environnement nécessaire à son fonctionnement.
Cette portabilité est l'une des principales raisons pour lesquelles Docker est devenu incontournable dans les entreprises.
Comment fonctionne Docker ?
Pour comprendre Docker, il faut distinguer plusieurs éléments.
Le premier est l'image Docker. Une image peut être comparée à un modèle ou à un gabarit contenant tout le nécessaire pour créer un conteneur. Elle est immuable et peut être utilisée autant de fois que nécessaire.
Le second est le conteneur. Il s'agit d'une instance en cours d'exécution d'une image Docker. Plusieurs conteneurs peuvent être créés à partir de la même image.
Enfin, Docker s'appuie sur un service appelé Docker Engine, qui est chargé de télécharger les images, de créer les conteneurs et de gérer leur fonctionnement.
Dans les prochains tutoriels, nous découvrirons ces notions en détail. Pour le moment, l'objectif est simplement d'installer Docker correctement.
Docker ou machine virtuelle ?
Avant de commencer l'installation, il est important de comprendre la différence entre Docker et une machine virtuelle.
Une machine virtuelle simule un ordinateur complet. Elle possède son propre système d'exploitation, son propre noyau et consomme une quantité importante de mémoire ainsi que d'espace disque.
Docker fonctionne différemment. Les conteneurs partagent le noyau Linux du système hôte. Ils ne contiennent que les éléments indispensables au fonctionnement de l'application.
Cette différence offre plusieurs avantages :
- un démarrage en quelques secondes ;
- une consommation mémoire réduite ;
- un espace disque beaucoup plus faible ;
- une meilleure densité de services sur un même serveur.
En revanche, Docker n'est pas destiné à remplacer complètement les machines virtuelles. Les deux technologies sont complémentaires et répondent à des besoins différents.
Prérequis
Avant d'installer Docker, assurez-vous de disposer des éléments suivants :
- un ordinateur sous Ubuntu 22.04 LTS ;
- un utilisateur disposant des droits administrateur ;
- une connexion Internet afin de télécharger les paquets nécessaires ;
- un terminal Linux.
Toutes les commandes de ce tutoriel devront être exécutées dans un terminal.
Vérifier la version d'Ubuntu
Avant toute installation, il est conseillé de vérifier la version exacte d'Ubuntu utilisée. Certaines commandes peuvent évoluer selon les versions du système d'exploitation.
Pour afficher les informations de votre distribution, exécutez la commande suivante :
lsb_release -a
Vous pouvez également utiliser :
cat /etc/os-release
La ligne Release indique la version installée, tandis que Codename correspond au nom de code de cette version. Ubuntu 22.04 porte le nom Jammy Jellyfish.
Si votre système est bien en version 22.04 LTS, vous pouvez poursuivre le tutoriel.
Mettre Ubuntu à jour
Avant d'installer un nouveau logiciel, il est recommandé de mettre son système à jour. Cette étape permet de récupérer les dernières informations concernant les paquets disponibles ainsi que les éventuelles mises à jour de sécurité.
Commencez par actualiser la liste des paquets disponibles sur les dépôts configurés :
sudo apt update
Une fois cette commande terminée, installez les mises à jour disponibles :
sudo apt upgrade -y
L'option -y permet de répondre automatiquement Oui aux différentes questions qui pourraient être posées pendant l'installation.
Selon le nombre de mises à jour disponibles, cette opération peut durer plusieurs minutes. Il est conseillé de patienter jusqu'à son achèvement avant de poursuivre.
Installer les dépendances nécessaires
Docker utilise plusieurs mécanismes de sécurité pour vérifier l'authenticité des paquets téléchargés. Avant d'ajouter son dépôt officiel, certaines dépendances doivent donc être installées.
Ces paquets permettront notamment :
- de télécharger des fichiers depuis Internet avec curl ;
- de gérer les certificats de sécurité ;
- d'importer les clés GPG utilisées pour signer les paquets Docker.
Installez-les avec la commande suivante :
sudo apt install curl ca-certificates gnupg -y
Pendant l'installation, Ubuntu télécharge automatiquement les paquets puis les configure.
Une fois l'installation terminée, votre système est prêt à accueillir le dépôt officiel Docker.
Créer le répertoire destiné aux clés GPG
Les distributions Linux modernes stockent les clés de signature dans un répertoire spécifique afin d'améliorer la sécurité du système.
Nous allons donc créer ce dossier si celui-ci n'existe pas déjà.
sudo install -m 0755 -d /etc/apt/keyrings
Cette commande crée le dossier /etc/apt/keyrings avec les permissions appropriées.
Si le dossier existe déjà, aucune erreur ne sera affichée.
Télécharger la clé officielle Docker
Afin de garantir que les paquets proviennent bien de Docker et n'ont pas été modifiés, nous allons importer la clé officielle de signature.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
Cette commande télécharge la clé publique depuis le site officiel de Docker puis la convertit dans un format compatible avec le gestionnaire de paquets d'Ubuntu.
Si aucune erreur ne s'affiche, la clé a bien été enregistrée sur votre système.
Modifier les permissions de la clé
Pour que le gestionnaire de paquets puisse accéder correctement à cette clé, il est nécessaire d'ajuster ses permissions.
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Cette commande autorise tous les utilisateurs à lire cette clé sans pour autant pouvoir la modifier.
Cette étape participe au bon fonctionnement du dépôt sécurisé de Docker.
Ajouter le dépôt officiel Docker
Par défaut, Ubuntu propose une version de Docker dans ses dépôts. Toutefois, cette version peut être plus ancienne que celle publiée par Docker.
Afin de bénéficier des dernières fonctionnalités ainsi que des correctifs de sécurité les plus récents, nous allons ajouter le dépôt officiel Docker à la liste des sources logicielles de notre système.
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Cette commande crée automatiquement un nouveau fichier de dépôt dans le dossier /etc/apt/sources.list.d/.
Ubuntu utilisera désormais ce dépôt pour récupérer les dernières versions de Docker.
Actualiser la liste des paquets
Après avoir ajouté un nouveau dépôt, il est indispensable d'actualiser la liste des paquets disponibles.
Cette opération permet à Ubuntu de prendre en compte le dépôt Docker que nous venons d'ajouter.
sudo apt update
Pendant cette étape, vous devriez voir apparaître une ligne faisant référence au dépôt download.docker.com.
Sa présence confirme que le dépôt officiel Docker est correctement configuré.
Installer Docker
Toutes les étapes de préparation sont maintenant terminées. Il ne reste plus qu'à installer Docker.
Le paquet principal est docker-ce, qui correspond à Docker Community Edition. Nous allons également installer plusieurs composants complémentaires permettant notamment d'utiliser Docker Compose et Buildx.
Lancez l'installation avec la commande suivante :
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Ubuntu télécharge alors plusieurs centaines de mégaoctets de données, puis installe automatiquement tous les composants nécessaires.
Selon votre connexion Internet, cette opération peut prendre quelques minutes.
Une fois l'installation terminée, Docker est présent sur votre ordinateur.
Vérifier que Docker est installé
La première vérification consiste à afficher la version installée de Docker.
Exécutez la commande suivante :
docker --version
Si l'installation s'est correctement déroulée, vous obtiendrez un résultat similaire à celui-ci :
Le numéro de version peut être différent selon la date à laquelle vous effectuez l'installation.
L'affichage de cette version confirme que Docker est désormais installé sur votre système Ubuntu.
Vérifier Docker Compose
Depuis plusieurs versions, Docker Compose est directement intégré à Docker. Il n'est donc plus nécessaire d'installer un logiciel supplémentaire comme c'était le cas auparavant.
Docker Compose permet de décrire une ou plusieurs applications dans un simple fichier YAML. Il devient ainsi possible de démarrer plusieurs conteneurs simultanément avec une seule commande. Cette fonctionnalité est particulièrement utile pour déployer des applications composées d'un serveur web, d'une base de données et d'autres services.
Pour vérifier que Docker Compose est bien installé, exécutez la commande suivante :
docker compose version
Vous devriez obtenir un résultat semblable à celui-ci :
Le numéro de version peut varier selon la date de votre installation. Si une version est affichée, cela signifie que Docker Compose est correctement installé et prêt à être utilisé.
Vérifier le service Docker
Lorsque Docker est installé, un service système est automatiquement créé. Ce service est responsable du fonctionnement du moteur Docker et doit être actif pour pouvoir lancer des conteneurs.
Pour vérifier son état, utilisez la commande suivante :
sudo systemctl status docker
Si tout fonctionne correctement, vous devriez voir apparaître une ligne similaire à :
Cette indication signifie que le service Docker est actuellement en cours d'exécution.
Si, pour une raison quelconque, le service n'est pas démarré, vous pouvez le lancer avec la commande suivante :
sudo systemctl start docker
Pour que Docker démarre automatiquement à chaque démarrage de l'ordinateur, utilisez :
sudo systemctl enable docker
Vous pouvez vérifier que cette configuration est bien prise en compte grâce à la commande suivante :
sudo systemctl is-enabled docker
Si le résultat est :
Cela signifie que Docker démarrera automatiquement à chaque démarrage d'Ubuntu.
Exécuter son premier conteneur
Maintenant que Docker est installé et que son service fonctionne correctement, il est temps de lancer votre premier conteneur.
Docker met à disposition une petite image appelée hello-world. Son unique objectif est de vérifier que l'ensemble de la plateforme fonctionne correctement.
Exécutez la commande suivante :
sudo docker run hello-world
Lors du premier lancement, Docker constate que l'image hello-world n'est pas présente sur votre ordinateur. Il la télécharge automatiquement depuis le registre officiel Docker Hub avant de créer un conteneur à partir de cette image.
Après quelques secondes, un message similaire au suivant apparaît :
L'apparition de ce message confirme que Docker est correctement installé et opérationnel.
Comprendre ce qui vient de se passer
Même si une seule commande a été exécutée, plusieurs opérations ont été réalisées automatiquement par Docker.
Tout d'abord, Docker a recherché l'image hello-world sur le registre officiel Docker Hub.
Comme cette image n'était pas encore présente sur votre ordinateur, elle a été téléchargée automatiquement.
Une fois le téléchargement terminé, Docker a créé un conteneur basé sur cette image, puis l'a démarré.
Le programme contenu dans le conteneur a affiché le message de bienvenue avant de se terminer. Le conteneur s'est alors automatiquement arrêté.
Cette simplicité est l'un des principaux avantages de Docker : quelques secondes suffisent pour déployer une application complète.
Afficher les conteneurs en cours d'exécution
Docker permet d'afficher tous les conteneurs actuellement actifs grâce à la commande suivante :
sudo docker ps
Dans notre cas, aucun conteneur n'est encore en cours d'exécution puisque hello-world s'est arrêté immédiatement après avoir affiché son message.
Le résultat sera donc généralement vide.
Afficher tous les conteneurs
Même lorsqu'un conteneur est arrêté, Docker le conserve afin de permettre son analyse ou son redémarrage ultérieur.
Pour afficher l'ensemble des conteneurs présents sur votre ordinateur, utilisez :
sudo docker ps -a
Vous devriez retrouver le conteneur hello-world avec un état similaire à :
Le code 0 indique que le programme s'est terminé normalement sans erreur.
Afficher les images Docker
Les images téléchargées sont stockées localement afin d'éviter de les télécharger à chaque utilisation.
Pour afficher les images présentes sur votre ordinateur, utilisez :
sudo docker images
Le résultat ressemble généralement à ceci :
Cette commande sera très utile lorsque vous commencerez à utiliser plusieurs images Docker.
Comprendre la différence entre une image et un conteneur
Les notions d'image et de conteneur sont souvent confondues lorsqu'on débute avec Docker.
Une image correspond à un modèle contenant tous les fichiers nécessaires au fonctionnement d'une application.
Un conteneur est une instance créée à partir de cette image.
On peut comparer une image au plan d'une maison. Le plan peut être utilisé pour construire autant de maisons que souhaité.
Le conteneur correspond alors à une maison effectivement construite.
Une même image peut donc servir à créer plusieurs conteneurs totalement indépendants les uns des autres.
Comprendre cette différence est indispensable avant d'aller plus loin avec Docker.
Utiliser Docker sans sudo
Par défaut, Docker nécessite les privilèges administrateur. C'est pourquoi nous avons utilisé sudo dans les commandes précédentes.
Cependant, il est possible d'autoriser votre utilisateur à utiliser Docker sans avoir à saisir sudo à chaque fois.
Pour cela, ajoutez votre utilisateur au groupe docker :
sudo usermod -aG docker $USER
Cette commande modifie les groupes auxquels appartient votre utilisateur.
La modification ne sera toutefois prise en compte qu'après une déconnexion puis une reconnexion à votre session.
Vous pouvez également redémarrer votre ordinateur afin que la nouvelle appartenance au groupe soit prise en compte.
Vous avez maintenant la possibilité d'exécuter les commandes Docker sans sudo :
Conclusion
Vous avez maintenant installé Docker sur Ubuntu 22.04 LTS en utilisant le dépôt officiel recommandé par les développeurs du projet. Vous avez vérifié que le moteur Docker fonctionne correctement, découvert le rôle du service système, exécuté votre premier conteneur et appris à distinguer une image d'un conteneur.
Vous savez également comment afficher les images et les conteneurs présents sur votre ordinateur et configurer Docker pour une utilisation sans sudo.
Cette installation constitue la première étape de votre apprentissage. Dans le prochain tutoriel, nous découvrirons les concepts fondamentaux de Docker en manipulant des images et des conteneurs. Nous apprendrons notamment à télécharger une image, créer plusieurs conteneurs, les démarrer, les arrêter, les supprimer et comprendre le cycle de vie complet d'un conteneur Docker. Ces notions sont indispensables avant d'aborder des sujets plus avancés comme les volumes, les réseaux, Docker Compose ou encore le déploiement d'applications complètes.
Commentaires
Laisser un commentaire
Soyez le premier à commenter cet article !