Debian : Installer Docker

docker-logo



Introduction



Dans cet article, nous allons voir comment installer Docker sur Debian 11.
Bien que Docker soit inclus dans les dépôts de Debian, il est présent dans une version assez ancienne.
On préfèrera donc l'utilisation de docker officiel.


Prérequis



Si Docker est déjà installé, on ôtera ce qui est déjà installé et qui peut faire conflit :

Code BASH :
apt remove docker docker-engine docker.io containerd runc


Le système doit être à jour :

Code BASH :
apt update && apt full-upgrade


On va installer les paquets nécessaires pour permettre à apt d'utiliser des dépôts en HTTPS :

Code BASH :
apt install ca-certificates curl gnupg lsb-release


On ajoute la clé GPG de Docker à notre système :

Code BASH :
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg


Ensuite, on ajoute les dépôts dans le système (ici on utilise bullseye) :

Code BASH :
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" > /etc/apt/sources.list.d/docker.list


On rafraichit les dépôts :

Code BASH :
apt update


Installation



On va installer le moteur Docker Engine :

Code BASH :
apt install docker-ce docker-ce-cli containerd.io


Vérification du fonctionnement



Pour vérifier que Docker fonctionne, on va lancer le docker de test "Hello-world" :

Code BASH :
docker run hello-world


Le retour est le suivant :

Code TEXT :
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest
 
Hello from Docker!
This message shows that your installation appears to be working correctly.



Configuration supplémentaire optionnelle



Docker doit se gérer en root.
Si vous voulez qu'un utilisateur soit apte à lancer les commandes, ajouter l'utilisateur concerné au groupe docker (exemple avec l'utilisateur adrien) :

Code BASH :
groupadd docker

Code BASH :
usermod -aG docker adrien