Les Bases De Docker Sur Raspberry Pi (Guide Complet)


J’ai remarqué que de plus en plus de projets offrent la possibilité d’utiliser Docker, mais je suppose que ce n’est pas toujours super clair. J’étais administrateur système et les conteneurs n’étaient pas du tout utilisés lorsque j’ai commencé, donc c’est assez nouveau pour tout le monde. Si vous êtes un peu perdu avec cette technologie, vous êtes au bon endroit, je vais vous expliquer tout ce que vous devez savoir sur Docker.

Docker est un logiciel qui vous permet d’installer et d’exécuter des logiciels dans des conteneurs séparés, en virtualisant le système d’exploitation en cours d’exécution. Les principaux avantages de Docker sont la facilité de déploiement, la sécurité et l’évolutivité.

Je commencerai par une brève introduction à Docker, puis je vous montrerai comment l’installer et l’utiliser sur un Raspberry Pi. J’utilise Raspberry Pi OS, mais l’idée est la même avec n’importe quel système d’exploitation.

À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi. Je vous offre d’ailleurs 10% de remise aujourd’hui en utilisant ce lien !

Qu’est-ce que Docker ?

Téléchargez mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)

Pour simplifier, Docker c’est un peu une évolution du gestionnaire de paquets Debian (APT).

Au lieu d’installer chaque logiciel individuellement sur votre système, avec de nombreuses dépendances et les problèmes habituels lorsque vous installez une application complexe, Docker va créer un conteneur, un sous-système séparé sur votre système, avec tout ce qui est nécessaire à l’application.

En gros, le développeur va créer une image depuis son propre système, comprenant tout ce qui est nécessaire au fonctionnement de l’application principale, et la partager avec l’utilisateur final.

L’utilisateur téléchargera l’image et créera un conteneur à partir de celle-ci, en s’assurant que tout sera installé et fonctionnera comme prévu par le développeur.

Source : Docker.com

Je vous montrerai un exemple concret à la fin de cet article, mais en gros, lorsque vous voulez créer un projet sur votre Raspberry qui nécessite plusieurs applications, vous aurez souvent des problèmes de conflits ou encore perdrez du temps à tout configurer.

Si un développeur a déjà réalisé ce projet et partagé son conteneur, vous pouvez simplement le télécharger et le faire fonctionner sur votre système presque instantanément.

Du moins, c’est la promesse. Nous verrons que ce n’est pas toujours aussi simple, mais vous voyez l’idée.
J’ai fait un sondage sur ma chaîne YouTube, et la plupart d’entre vous utilisent encore la méthode traditionnelle. Voyons tout de même comment installer et utiliser Docker pour la première fois.

Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Comment installer Docker sur Raspberry Pi ?

Avant d’utiliser Docker sur votre Raspberry Pi, il faut d’abord installer quelques éléments. Docker fonctionne comme un service système, nous devons donc l’installer avant de créer un conteneur.

Installer un système d’exploitation

Docker est pris en charge par presque toutes les distributions Linux. Sur leur site web, ils disent que Ubuntu, Debian et Fedora sont supportés, donc je suppose que cela devrait fonctionner sur n’importe quelle variation de ces systèmes. Arch Linux a également une version expérimentale disponible.

Je teste ce tutoriel pour vous sur un Raspberry Pi 4 avec Raspberry Pi OS Bullseye, mais les étapes devraient être les mêmes quel que soit le système que vous utilisez.
Donc, si ce n’est pas déjà fait, suivez l’un de ces tutoriels pour préparer votre système :

Ensuite, assurez-vous que votre système est connecté à Internet, et modifiez la configuration de base si nécessaire (disposition du clavier, langue, etc.). Comme toujours, je vous recommande de configurer SSH sur le Raspberry Pi et de vous y connecter depuis votre ordinateur. Ainsi, vous pourrez simplement copier et coller toutes les commandes que je vous donnerai.

Faites les mises à jour du système

Comme pour tout projet, la première étape consiste à appliquer les mises à jour du système pour éviter tout problème ou conflit.
Sur Raspberry Pi OS et les distributions basées sur Debian (Ubuntu, etc.), vous pouvez le faire avec ces commandes :

sudo apt update
sudo apt upgrade -y

Après quelques minutes, votre système est à jour et vous serez prêt à y installer Docker.
S’il y a eu de nombreuses mises à jour de paquets, un redémarrage du système peut être une bonne idée avant d’aller plus loin :
sudo reboot

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Installer Docker sur Raspberry Pi

L’installation de Docker sur un Raspberry Pi est très simple. Il y a un script simple à exécuter, qui va détecter votre système et votre architecture, et tout installer pour vous.
Voici la commande :

curl -fsSL https://get.docker.com | sh

Vous verrez la progression de l’installation sur votre écran, et elle devrait se terminer par quelque chose comme :

En théorie, nous n’utilisons pas root sur Raspberry Pi OS, il y a donc une étape supplémentaire pour nous permettre d’utiliser Docker directement (sans sudo).

Permettre l’utilisation de Docker sans être un root

La seule chose que j’ai faite pour permettre à l’utilisateur principal d’utiliser Docker sans sudo a été de l’ajouter au groupe docker. Je ne sais pas exactement pourquoi ils donnent d’autres instructions, mais ce n’était pas nécessaire dans mon cas.

Donc, voici la commande pour ajouter l’utilisateur actuel au groupe docker :
sudo usermod -aG docker $USER

Quittez votre session SSH, ou redémarrez le Raspberry Pi, et vous devriez alors être en mesure d’exécuter n’importe quelle commande docker sans sudo.
Vous pouvez faire un test rapide avec :
docker ps

Si cela fonctionne, vous êtes prêt à passer à la suite. Si vous recevez un message d’erreur tel que « Got permission denied while trying to connect to the Docker daemon socket », il manque quelque chose sur votre système. Dans ce cas, essayez de suivre les instructions suivantes.

Testez votre configuration Docker

Une fois que Docker est installé, nous pouvons commencer à l’utiliser directement. Il existe un petit conteneur de test que vous pouvez télécharger et exécuter pour vous assurer que tout fonctionne correctement.
Voici la commande :
docker run hello-world

Comme vous pouvez le voir dans la capture d’écran, vous essayez d’exécuter une image qui n’est pas installée sur votre système. Docker va d’abord la télécharger (« pull »), puis l’exécuter.
Il s’agit juste d’un exemple bidon pour dire « Bonjour », mais vous avez compris l’idée, vous pouvez maintenant commencer à utiliser Docker comme sur n’importe quelle machine.

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

Comment utiliser Docker sur Raspberry Pi ?

L’utilisation de Docker sur Raspberry Pi n’est pas différente de celle de tout autre ordinateur. Une fois le service installé, un ensemble de commandes peut être utilisé pour surveiller, installer et exécuter les conteneurs Docker.

Commandes Docker à connaître

Commençons par les principales commandes que vous pouvez utiliser maintenant que Docker est installé sur votre système :

  • Surveillez les conteneurs en cours d’exécution :
    docker ps
  • Affiche la version actuelle de Docker :
    docker version
  • Téléchargez une nouvelle image :
    docker pull [IMAGE]
  • Lancez une image (et téléchargez-la si elle n’existe pas sur votre système local) :
    docker run [IMAGE]
  • Recherchez une image dans le référentiel Docker :
    docker search [X]

    Vous pouvez également utiliser la version web de ce moteur de recherche, qui sera plus facile à utiliser et vous donnera plus de détails (voici le lien). Une chose à prendre en compte est que certaines images ne sont pas compatibles avec l’architecture ARM. Sur le site web, vous pouvez les filtrer, mais je ne pense pas que vous puissiez le faire avec la ligne de commande.
  • Affiche les statistiques d’utilisation :
    docker stats
  • Affiche la liste de toutes les commandes Docker :
    docker help

Il y a beaucoup de commandes et de paramètres, mais en gros, si vous savez comment installer, exécuter et surveiller vos conteneurs, cela devrait suffire dans la plupart des cas.

Prenons un exemple

Maintenant que Docker est installé et fonctionne correctement, vous allez probablement passer à un tutoriel spécifique sur un projet qui vous intéresse (peut-être Plex, Home Assistant ou l’un des nombreux guides que j’ai sur ce site).

Disons que vous voulez installer Nginx (un serveur web) dans un conteneur Docker. Comment allez-vous faire ?
Eh bien, voici les étapes que vous devez suivre une fois que Docker est installé :

  • Utilisez le site web ou la commande « search » pour vérifier les images correspondantes disponibles :
    docker search nginx
  • Il y a plusieurs résultats, mais le premier est généralement le meilleur. Et sur le site, vous pouvez voir que le premier est compatible avec ARM et ARM64. Alors installons-le et exécutons-le avec :
    docker run nginx

    Comme pour l’exemple de hello-world, il va vérifier s’il est déjà installé, et sinon, le télécharger.
    Ensuite, il va démarrer le conteneur.
    Vous pouvez utiliser « docker ps » ou « docker stats » pour vérifier s’il est en cours d’exécution.
  • Une chose que je ne vous ai pas dite, c’est que « docker run [X] » démarre le conteneur dans la session en cours. Si vous fermez votre connexion SSH ou votre terminal, l’application s’arrêtera.
    Pour l’exécuter en arrière-plan, vous devez utiliser l’option « -d » :
    docker run -d nginx

C’est tout, à partir de là vous pouvez commencer à utiliser votre application. Selon l’image que vous essayez, il peut y avoir des étapes supplémentaires, reportez-vous à la documentation correspondante pour plus de détails.
Par exemple, si vous ouvrez la page correspondante pour Nginx, ils vous donneront des paramètres et des options de configuration supplémentaires pour votre serveur web.

J’espère que tout cela est plus clair pour vous maintenant, mais vous aurez probablement besoin d’un peu plus de pratique pour bien tout assimiler. Essayez désormais de suivre un tutoriel Docker pour l’un de vos projets Raspberry Pi, afin de vous assurer que vous comprenez tout pendant que c’est encore frais.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Maîtrisez Python sur Raspberry Pi
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Envie d'aller un peu plus loin que faire clignoter une LED ? Vous avez besoin de ce livre pour passer à des projets plus avancés.

Questions fréquentes sur Docker pour Raspberry Pi

Voici quelques questions fréquemment posées sur Docker sur Raspberry Pi auxquelles je souhaite répondre dans ce guide.

Combien de conteneurs peut-on faire tourner sur un Raspberry Pi ?

Un Raspberry Pi peut exécuter plusieurs conteneurs Docker en même temps, mais il n’y a pas de limite absolue. Tout dépend des applications installées, du nombre d’utilisateurs de ces applications et de la manière dont elles sont optimisées pour cette plateforme.

Cela dépend aussi beaucoup du modèle de Raspberry Pi que vous utilisez et des performances que vous êtes prêt à accepter. Je n’ai pas de réponse magique à cette question, mais vous pouvez tout à fait exécuter plusieurs services dans différents conteneurs simultanément sur un Raspberry Pi et voir comment cela se passe.

Comment désinstaller Docker du Raspberry Pi ?

Même si Docker est installé via un script qui a tout fait en arrière-plan, ce sont uniquement des paquets système qui sont installés avec APT. Vous pouvez voir les paquets installés avec :
sudo dpkg -l | grep docker
Et les désinstaller avec apt, sans doute quelque chose comme :
sudo apt remove docker-ce docker-ce-cli

Le script ajoute également un nouveau fichier sous /etc/apt/sources.list.d que vous pouvez supprimer si vous n’utilisez plus Docker :
sudo rm /etc/apt/sources.list.d/docker.list
sudo apt update

Où sont stockés les fichiers de configuration des conteneurs ?

La plupart des fichiers Docker sont stockés sous /var/lib/docker sur votre système principal. Mais la recommandation pour modifier les fichiers de configuration est d’ouvrir une session bash à l’intérieur du conteneur directement. Vous pouvez le faire avec :
docker exec -ti [CONTAINER-ID] /bin/bash

L’ID du conteneur s’affiche sur votre écran lorsque vous démarrez l’application avec « docker run ». Voici un exemple avec mon conteneur Nginx :

À partir de là, il s’agit des mêmes fichiers qu’avec une configuration Nginx traditionnelle. Vous pouvez lire mon tutoriel complet sur Nginx ici si vous voulez en savoir plus (même si ce n’est qu’un exemple ici).

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

Promo : Maîtrisez votre Raspberry Pi