Dans ce tutoriel, nous allons voir comment installer Docker sur Debian 11 afin d’utiliser ses premiers containers sous Linux ! Cette installation pas-Ă -pas repose sur la mĂ©thode officielle dĂ©crite dans la documentation de Docker. Au-delĂ des dĂ©pendances que nous allons installer et de Docker en lui-mĂȘme, les ressources de votre machine seront dĂ©terminantes pour exĂ©cuter plus ou moins de containers Docker.
L’utilisation d’un container reste trĂšs pratique pour tester rapidement un logiciel sans affecter la machine hĂŽte, en phase de dĂ©veloppement, etc. Un container Docker va permettre d’empaqueter facilement des applications afin de les rendre utilisables sur diffĂ©rentes plateformes. De nos jours, c’est une technologie populaire et apprĂ©ciĂ©e et que l’on utilise aussi bien on-premise que sur les environnements Cloud.
VM vs Conteneur
Pour fonctionner, Docker s’appuie sur diffĂ©rents composants qu’il est important de connaĂźtre :
- Docker Engine ou Docker Daemon correspondant au processus qui fait tourner Docker sur le systĂšme, en charge de la gĂ©nĂ©ration et l’exĂ©cution des containers
- Docker Registry est un emplacement de stockage pour hĂ©berger les images de containers Docker (il peut ĂȘtre public ou privĂ©)
- Docker Image correspondant Ă un fichier qui contient la dĂ©finition d’un container Docker (dĂ©pendances, configuration, etc.)
- Docker Client correspondant Ă l’utilitaire en ligne de commande qui va permettre de gĂ©rer les containers (commande « docker« )
- Docker Container correspondant aux containers en eux-mĂȘmes, tout en sachant qu’une image peut permettre de crĂ©er plusieurs containers avec chacun un identifiant unique
La documentation de Docker est disponible Ă cette adresse :Â docs.docker.com
Installer les dépendances de Docker
PremiÚrement, nous devons installer les dépendances nécessaires au bon fonctionnement de Docker. Commençons par mettre à jour le cache des paquets :
sudo apt-get update
Puis, exécutez la commande ci-dessous pour installer les paquets :
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Ajouter le dépÎt officiel Docker
DeuxiÚmement, nous devons ajouter le dépÎt officiel de Docker à notre machine Debian afin de pouvoir récupérer les sources. Commençons par récupérer la clé GPG qui nous permettra de valider les paquets récupérés depuis le dépÎt Docker :
sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Ensuite, on ajoute le dépÎt Docker à la liste des sources de notre machine :
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Pour finir, nous devons mettre à jour le cache des paquets pour prendre en compte les paquets de ce nouveau dépÎt :
sudo apt-get update
Installation des paquets Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
Si vous souhaitez que Docker dĂ©marre automatiquement avec votre machine Debian, la commande suivante doit ĂȘtre exĂ©cutĂ©e :
sudo systemctl enable docker
Ensuite, le meilleur moyen de vĂ©rifier si Docker est installĂ©, c’est d’exĂ©cuter le container nommĂ© « hello-world ». La commande ci-dessous permettra de tĂ©lĂ©charger l’image de ce container et de l’exĂ©cuter.
docker run hello-world
Lorsque ce container sera exĂ©cutĂ©, le message « Hello from Docker! » sera retournĂ© dans la console. C’est le signe que les diffĂ©rents composants sont opĂ©rationnels et que Docker a pu gĂ©nĂ©rer et exĂ©cuter le container.
Docker est-il bien installé ?
L’installation des paquets est terminĂ©e, mais Docker est-il correctement installĂ© ? Pour rĂ©pondre Ă cette question, vous pouvez regarder le statut de Docker, ce qui sera une premiĂšre indication si le service est identifiĂ© sur la machine.
sudo systemctl status docker
Ensuite, le meilleur moyen de vĂ©rifier si Docker est installĂ©, c’est d’exĂ©cuter le container nommĂ© « hello-world ». La commande ci-dessous permettra de tĂ©lĂ©charger l’image de ce container et de l’exĂ©cuter.
docker run hello-world
Lorsque ce container sera exĂ©cutĂ©, le message « Hello from Docker! » sera retournĂ© dans la console. C’est le signe que les diffĂ©rents composants sont opĂ©rationnels et que Docker a pu gĂ©nĂ©rer et exĂ©cuter le container.
Quelle est la version de Docker installée ?
Pour finir avec la phase d’installation, sachez qu’Ă tout moment vous pouvez voir quelle est la version de Docker que vous utilisez grĂące Ă la commande suivante :
docker --version Docker version 20.10.16, build aa7e414
Quelques commandes Docker
Docker est installĂ© sur notre serveur Debian 11, mais comment faire pour l’utiliser ? Pour finir, nous allons voir quelques commandes utiles qui vous permettront de dĂ©buter avec Docker.
- Lister les containers Docker en cours d’exĂ©cution
docker ps
Le rĂ©sultat de la commande permet d’avoir une liste avec diffĂ©rentes informations dont l’ID unique du container, le nom de l’image, et le statut.
- Lister tous les containers Docker enregistrĂ©s sur votre machine, peu importe l’Ă©tat
docker ps -a
- Supprimer un container Docker
A partir d’un ID, il est possible de supprimer un container Docker. Par exemple, cela peut permettre de supprimer le container « hello-world » (ID 3c745b055853 sur ma machine) car il n’a plus d’intĂ©rĂȘt.
docker rm 3c745b055853
- Lister les images Docker (disponibles en local)
docker images
ur ma machine Debian 11, l’instance Docker dispose de trois images.
- Supprimer une image Docker
L’image du container « hello-world » peut ĂȘtre supprimĂ©e, aprĂšs avoir arrĂȘtĂ© puis supprimĂ© le container associĂ©, via cette commande :
docker rmi hello-world
- DĂ©marrer un container Docker
Avec Docker, on peut dĂ©marrer un container existant mais arrĂȘtĂ© avec « docker start » mais aussi crĂ©er un container et le dĂ©marrer avec « docker run« . Un container peut-ĂȘtre dĂ©marrĂ© en l’appelant par son identifiant :
docker start d964015967b4
- ArrĂȘter un container Docker
La commande ci-dessus stoppe le container Docker avec l’ID « 6108d7c37298 » rĂ©cupĂ©rĂ© via la commande « docker ps ».
docker stop 6108d7c37298
- Télécharger une image Docker à partir de Docker Hub
Le site Docker Hub rĂ©fĂ©rence les images Docker, et il est possible de tĂ©lĂ©charger une image Ă partir de cette source. Voici un exemple oĂč l’image d’un container Docker Apache est tĂ©lĂ©chargĂ©e :
docker pull httpd
Cette image sera ensuite exploitable pour créer un nouveau container Docker.
DĂ©sinstaller Docker
apt-get remove --purge docker*
Ensuite, si vous souhaitez supprimer les conteneurs et les images stockés vous pouvez procéder comme suit :
rm -rf /var/lib/docker Pour supprimer les certificats et fichiers de configurations liées à Docker : rm -rf /etc/docker rm /etc/systemd/system/docker.service rm /etc/init/d/docker
Pour finir et repartir sur de bonnes bases :
apt-get autoremove && apt-get autoclean