Dans le guide d’aujourd’hui, nous allons voir Comment installer Docker sur Debian 10. Docker est un logiciel libre Open Source qui va nous permettre de concevoir, tester et déployer des applications rapidement dans des conteneurs logiciels.
Un conteneur est une enveloppe virtuelle qui permet de packager une application avec tous les éléments dont elle a besoin pour fonctionner : fichiers source, runtime, librairies, outils et fichiers.
Contrairement à la virtualisation, un conteneur n’embarque pas d’OS, il s’appuie directement sur celui du serveur sur lequel il est déployé. Ils se partagent le même noyau de système d’exploitation et isolent les processus de l’application du reste du système.
Installation de Docker
Tout d’abord, nous allons mettre à jour notre système avant l’installation :
sudo apt -y update && sudo apt -y upgrade
Ensuite, vous devrez installer les différentes dépendances nécessaires à l’installation de Docker :
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Dorénavant, il nous faudra importer la signature du dépôt à notre système en exécutant cette commande :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Puis, on ajoutera le dépôt :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
Votre système est enfin prêt pour l’installation de Docker, il vous faudra exécuter les commandes suivantes :
sudo apt-get install docker-ce docker-ce-cli containerd.io
Une fois l’installation réussie de Docker, utilisez la commande ci-dessous pour vérifier l’état du service :
systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2019-11-10 13:54:43 CET; 1min 3s ago
Docs: https://docs.docker.com
Main PID: 20675 (dockerd)
Tasks: 8
Memory: 43.6M
CGroup: /system.slice/docker.service
└─20675 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Maintenant, vous pouvez également tester votre installation en lançant un conteneur de test Hello World :
sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Autoriser un utilisateur non root à exécuter Docker
Initialement, les utilisateurs normaux ne disposent pas des privilèges nécessaires pour exécuter les commandes Docker. En effet le démon Docker utilise un socket Unix appartenant à l’utilisateur root.
docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
Afin de pouvoir utiliser Docker avec un utilisateur « standard », il suffit de l’ajouter à un groupe dédié.
Premièrement, on commencera par créer un groupe « docker » si celui-ci n’existe pas déjà :
sudo groupadd docker
Puis, on ajoute notre utilisateur au groupe précédemment créé :
sudo usermod -aG docker $USER
Vous pouvez vous connecter sur votre utilisateur récemment ajouté et tester la commande suivante (si vous êtes connecté à ce même utilisateur, n’oubliez pas de vous déconnecter et reconnecter avant utilisation) :
docker run hello-world
Maintenant que nous en avons fini avec l’installation de Docker, voici quelques commandes de base pour rechercher et télécharger des images Docker, démarrer et gérer les conteneurs .
Comment utiliser Docker
Le Docker Hub contient énormément d’images de conteneurs provenant d’éditeurs de logiciels, de projets open source ou encore de la communauté.
Voici par exemple comment rechercher une image d’un conteneur Debian :
docker search debian
NAME DESCRIPTION
ubuntu Ubuntu is a Debian-based ...
debian Debian is a Linux distribution ...
arm32v7/debian Debian is a Linux distribution ...
itscaro/debian-ssh debian:jessie
arm64v8/debian Debian is a Linux distribution that's ...
samueldebruyn/debian-git a minimal docker container with ...
multiarch/debian-debootstrap multiarch ports of debian-debootstrap ...
i386/debian Debian is a Linux distribution that's
...
Tout d’abord, pour télécharger l’image du conteneur Debian souhaitée, il vous faudra exécuter :
docker pull debian
Using default tag: latest
latest: Pulling from library/debian
c7b7d16361e0: Pull complete
Digest: sha256:41f76363fd83982e14f7644486e1fb04812b3894aa4e396137c3435eaf05de88
Status: Downloaded newer image for debian:latest
docker.io/library/debian:latest
Par la suite, pour vous assurer que vos images ont bien été téléchargées, voici la commande permettant de lister toutes vos images :
docker image
REPOSITORY TAG IMAGE ID CREATED SIZE
debian latest 8e9f8546050d 3 weeks ago 114MB
hello-world latest fce289e99eb9 10 months ago 1.84kB
Maintenant, pour créer un conteneur à partir de l’image « debian », lancez le programme bash et attachez votre shell grâce aux options -it :
docker run -i -t debian /bin/bash
debian@ServerDeb10:~$ docker run -i -t debian /bin/bash
root@071a4b0c0fce:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Vous pouvez à présent quitter et arrêter le conteneur en faisant un Ctrl + d.
Désormais vous êtes à nouveau sur votre machine, vous pouvez afficher la liste des conteneurs lancés avec cette commande :
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Puisque le conteneur est arrêté, celui-ci ne s’affiche pas. Pour afficher les conteneurs arrêtés, il vous faudra ajouter l’option « -a » :
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
071a4b0c0fce debian "/bin/bash" 11 minutes ago Exited (0) 2 minutes ago sharp_pasteur
bb938a8793d2 hello-world "/hello" 5 hours ago Exited (0) 5 hours ago dreamy_morse
59c6bd14db66 hello-world "/hello" 7 hours ago Exited (0) 7 hours ago awesome_booth
Enfin, si vous souhaitez quitter le conteneur mais le laisser s’exécuter en arrière-plan, il faudra faire Ctrl + p + q.
Pour continuer avec les commandes de base, vous pouvez démarrer un conteneur en arrière-plan avec la commande suivante :
docker start containerID/NAME
Accédez à un conteneur démarré avec celle-ci :
docker attach containerID/NAME
Et enfin pour l’arrêter il faudra exécuter :
docker stop containerID/NAME
Finalement, la suppression d’un conteneur se fera avec la commande suivante :
docker rm containerID/NAME
D’autres articles sur Docker sont à prévoir sur https://sqx-bki.fr.
Vous savez à présent Comment installer Docker sur Debian 10 et son utilisation de base.
Clair net précis une doc concise qui va à l’essentiel
Bonne continuation
Merci de ton retour 🙂
Bonjour, en voulant installer docker j’ai le message suivant :
Aucune version du paquet docker-ce n’est disponible, mais il existe dans la base
de données. Cela signifie en général que le paquet est manquant, qu’il est devenu obsolète
ou qu’il n’est disponible que sur une autre source
Cependant les paquets suivants le remplacent :
docker-ce-cli:amd64
E: Le paquet « docker-ce » n’a pas de version susceptible d’être installée
E: Impossible de trouver le paquet docker-ce-cli
E: Impossible de trouver le paquet containerd.io
E: Impossible de trouver de paquet correspondant à l’expression rationnelle « containerd.io »
E: Impossible de trouver de paquet correspondant à l’expression rationnelle « containerd.io »
Avez-vous une idée de comment résoudre le problème ? Je pensais que c’était la version de Debian, mais je suis bien en 10. Je vous remercie d’avance 🙂
Bonjour,
Avez-vous bien effectué les commandes suivantes juste avant l’installation du paquet ?
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt-get update
apt-get install docker-ce
SQX
Ton certificat a expiré
Merci 😉