Docker Compose : exécuter Docker simplement sur Raspberry Pi
Docker est un excellent outil pour installer des applications portables multi-plateformes sur Raspberry Pi. Cependant, l’utilisation de Docker implique souvent de comprendre des commandes longues et compliquées. Dans cet article, je vous montrerai un moyen plus simple d’exécuter des conteneurs d’application avec de simples fichiers texte.
Docker Compose est installé sur Raspberry Pi à l’aide d’un script officiel de Docker. Pour déployer un conteneur, téléchargez un fichier Compose d’exemple, modifiez ses paramètres et lancez l’application avec Docker Compose.
Je vais vous montrer une façon extrêmement simple d’installer Docker Compose. Pour donner un exemple de son utilisation, je vous guiderai à travers l’utilisation de Docker Compose pour exécuter Photoprism, un serveur de gestion de photos auto-hébergé. Enfin, en bonus, je partagerai une liste de super applications que vous pouvez exécuter en tant que conteneurs.
Si vous débutez avec Raspberry Pi ou Linux, j’ai quelque chose qui peut vous aider !
Téléchargez ma fiche mémo des commandes Linux gratuitement – c’est un guide de référence rapide avec toutes les commandes essentielles dont vous aurez besoin utiliser votre Raspberry Pi. Cliquez ici pour l’obtenir gratuitement !
Pourquoi utiliser Docker Compose ?

Quand j’ai entendu parler de Docker pour la première fois, je me suis dit que ce serait la prochaine application révolutionnaire. Elle pouvait ouvrir des possibilités illimitées pour exécuter n’importe quel programme sur n’importe quel système. Ou du moins, c’était le rêve.
Quand j’ai commencé à utiliser Docker, l’attrait a commencé à s’estomper. Différents conteneurs nécessitaient des configurations inhabituelles — souvent avec des variables peu intuitives que je n’arrivais pas à faire fonctionner. Pire encore, différents systèmes d’exploitation configuraient Docker différemment, donc ce n’était pas une solution universelle.
À cause de toutes ces difficultés, j’utilisais rarement Docker — et seulement en dernier recours. Jusqu’à ce que je découvre la magie des fichiers Docker Compose.
Quelle est la différence entre Docker et Docker Compose ?
Docker est le programme qui exécute des conteneurs d’applications.
Les fichiers Docker Compose sont des fichiers texte qui facilitent la configuration et le déploiement des applications.
Si vous utilisez Docker de la manière habituelle, vous devez comprendre cette commande pour exécuter l’application Plex :docker run -d --name=plex --net=host-e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -e VERSION=docker -e PLEX_CLAIM=#optional -v /path/to/plex/library:/config -v /path/to/tvseries:/tv -v /path/to/movies:/movies --restart unless-stopped lscr.io/linuxserver/plex:latest
Mais si vous utilisez Docker Compose à la place, vous obtenez ce fichier texte facile à lire :
---
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- VERSION=docker
- PLEX_CLAIM= #optional
volumes:
- /path/to/plex/library:/config
- /path/to/tvseries:/tv
- /path/to/movies:/movies
restart: unless-stopped
Je trouve qu’il est plus pratique de sauvegarder le fichier ci-dessus sur votre système et de l’éditer avec Nano.
Ma conviction est que Docker Compose est tout simplement la meilleure façon d’utiliser Docker. Les fichiers Compose permettent ainsi que :
- Les conteneurs d’applications puissent être configurés plus rapidement et de manière plus intuitive.
- Les conteneurs puissent être déplacés entre les systèmes en copiant/collant du texte.
- Les conteneurs en cours d’exécution puissent être mis à jour de manière pratique avec presque aucun temps d’arrêt.
En bref, Docker Compose tient enfin la promesse de faire de Docker une solution universelle pour exécuter des conteneurs d’applications.
Quand pouvez-vous utiliser Docker Compose ?
Vous pouvez utiliser Docker Compose pour déployer n’importe quel conteneur Docker.
J’utilise des fichiers Docker Compose pour configurer 100 % de mes conteneurs. C’est la seule façon dont j’utilise Docker maintenant.
Plus spécifiquement, je me tourne vers Docker lorsque je veux faire fonctionner des serveurs qui ne sont pas nativement supportés sur Raspberry Pi OS ou lorsque je veux installer une application qui nécessite normalement des solutions de contournement compliquées.
Si vous êtes convaincu, passons enfin à l’installation de Docker Compose sur Raspberry Pi.
Installation de Docker Compose sur Raspberry Pi
Maintenant, vous comprenez pourquoi je suis un grand fan de Docker Compose et pourquoi il est devenu si populaire. Dans cette section, je vais passer en revue les exigences pour l’exécuter et l’installer sur Raspberry Pi.

Exigences
Voici le matériel et les logiciels dont vous aurez besoin pour exécuter Docker Compose :
- Raspberry Pi : Presque tous les modèles de Raspberry Pi devraient pouvoir exécuter Docker.
Je le recommande sur les cartes plus récentes comme le Raspberry Pi 5, Pi 4, et Pi 3B+.
Mes exemples utilisent un système 64 bits, mais Docker fonctionne également sur des modèles 32 bits. - Système d’exploitation : Raspberry Pi OS (Bookworm ou Bullseye recommandé).
Ces instructions fonctionneront probablement aussi sur Debian, Ubuntu, et quelques autres distributions Linux. - Accès Internet : pour télécharger les images Docker des applications que vous souhaitez exécuter.
Comment installer Docker Compose sur Raspberry Pi
Commençons par installer Docker. Ensuite, vous installerez Docker Compose et testerez s’il fonctionne.
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
C’est juste une installation en une ligne. Le reste vous aidera à comprendre comment les choses doivent fonctionner.
1. Installer Docker
Ouvrez un terminal, et exécutez le script d’installation officiel de Docker.curl -sSL https://get.docker.com | sh
Le script installera tout (repo, clés, etc.) pour vous. C’est tout, vous avez terminé.
Lorsque le script est terminé, Docker devrait être installé avec l’autostart déjà activé.systemctl status docker

Cette étape suivante est facultative mais fortement recommandée. Ajouter votre utilisateur au groupe Docker vous permet d’exécuter des commandes Docker sans sudo (en anglais). Cela ajoute également une couche de sécurité en empêchant le conteneur de fonctionner avec des privilèges root.
- Ajoutez votre utilisateur au groupe “docker”.
sudo usermod -aG docker $USER
- Déconnectez-vous et reconnectez-vous pour que les changements prennent effet.
logout
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 !
2. Installer Docker Compose
Ensuite, nous devons installer Docker Compose pour que Docker puisse utiliser les fichiers Compose. Par le passé, il y avait trois façons différentes de le faire. Mais maintenant, devinez quoi ?
Docker Compose est déjà installé car les nouvelles versions l’incluent par défaut.
Vérifiez qu’il est installé.docker compose version

Maintenant, vous êtes prêt à lancer un conteneur de test en utilisant votre propre fichier Compose :
- Tout d’abord, créez un dossier pour y placer tous vos conteneurs.
mkdir containers
- Vous voudrez un dossier séparé pour chaque application que vous prévoyez de faire fonctionner. Pour notre test, créez un sous-dossier.
cd containers
mkdir helloworld
cd helloworld - Créez un fichier Docker Compose, qui utilise généralement l’extension .yml ou .yaml.
nano compose.yaml
- Maintenant, collez ces lignes dans votre nouveau fichier compose.yaml. L’indentation est importante !
services:
hello-world:
image: hello-world
- Enfin, lancez le conteneur.
docker compose up
L’utilisation de up indique à Docker de rechercher compose.yaml dans le répertoire actuel et de faire ce qui suit :
- Télécharger l’image spécifiée dans le fichier Compose depuis le registre officiel.
- Appliquer les paramètres de configuration du fichier Compose.
- Démarrer l’application en tant que conteneur.

Succès ! Docker Compose fonctionne. C’était facile.
Exemple : Photoprism avec Docker Compose
Maintenant que vous avez installé Docker Compose et compris son fonctionnement, qu’en est-il d’un cas d’utilisation plus réaliste ? Dans cette section, je vais montrer comment exécuter un serveur avec un fichier Docker Compose.
Vous créez un conteneur pour Photoprism, une application de gestion de photos avec IA. Photoprism ne peut pas être installé nativement sur Raspberry Pi, mais vous pouvez le faire fonctionner avec Docker Compose.

Voici un aperçu des étapes :
- Téléchargez un fichier Docker Compose d’exemple.
- Modifiez le fichier Compose pour qu’il corresponde à votre configuration système.
- Lancez le conteneur avec votre fichier Compose.
1. Téléchargez le fichier Sample Docker Compose
Vous commencerez par obtenir un fichier Compose d’exemple sur le site officiel de Photoprism :
- À l’intérieur de votre dossier containers, créez un sous-dossier pour l’application.
mkdir photoprism
cd photoprism - Téléchargez le fichier sample Docker Compose.
wget https://dl.photoprism.app/docker/arm64/compose.yaml
Voici un aperçu du fichier Compose que nous avons téléchargé :

Ça a l’air compliqué, mais la plupart du temps, vous laisserez 99 % des paramètres tels quels et vous ne changerez que quelques variables. La beauté de ce système est que l’exemple a déjà fait le gros du travail à votre place.
Je crée rarement des fichiers Docker Compose à partir de zéro. Je télécharge simplement (ou copie/colle) un fichier Compose fourni par l’éditeur officiel ou créé par quelqu’un d’autre.
Ensuite, je le modifie pour mon usage, ce que vous ferez ensuite.
2. Modifier le fichier Compose
Vous devez souvent changer quelques paramètres dans le fichier Compose pour que les conteneurs fonctionnent correctement sur votre système particulier — ou dans notre cas, sur un Raspberry Pi.
Voici les choses les plus courantes que je change :
- Mot de passe : pour des raisons de sécurité.
- Port : pour attribuer un port pour les connexions si c’est un service ou un serveur.
- Volumes : pour spécifier où stocker les fichiers de l’application.
Ce que vous aurez à changer dépend du conteneur avec lequel vous travaillez. Vous trouverez des instructions sur la page où vous avez obtenu le fichier Compose.
Faisons ces changements dans le fichier Compose pour notre exemple Photoprism.
Modifier le mot de passe
Tout d’abord, changez le mot de passe par défaut car cela représente un risque de sécurité.
- Ouvrez le fichier Docker Compose de Photoprism.
nano compose.yaml
- Trouvez PHOTOPRISM_ADMIN_PASSWORD. Il est défini sur “insecure”, alors changez-le en remplaçant ce qui est à l’intérieur des guillemets. Par exemple :

Modifier le port
S’il y a un port qui doit être exposé pour que l’application fonctionne, il se trouvera dans le fichier Docker Compose sous la section “ports”.
La syntaxe pour les ports est la suivante :(port de votre système):(port interne de l'application)

- Du côté gauche des deux-points (:), changez le port par celui que vous souhaitez utiliser.
- À droite du deux-points (:), ne changez rien.
Cette ligne signifie que le conteneur de l’application veut mapper le port 2342 de votre système au port interne 2342 de l’application. Je ne vais pas le laisser tel quel, car l’utilisation du port 2342 devrait être correcte sur Raspberry Pi OS.
Je ne changerai pas le port. (Cependant, vous pourriez avoir besoin de le faire pour des applications utilisant par défaut un port commun, comme le port 80 ou 443, en anglais, ce qui peut créer des conflits avec vos autres applications.)
Il n’y a donc rien à faire ici, et vous avez terminé. Bien joué.
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Modifier les volumes
Enfin, vient la partie qui pourrait être la plus déroutante pour les débutants : mapper les répertoires.
L’application a une structure de dossiers fixe en interne afin que les conteneurs soient portables sur différents systèmes d’exploitation. Mais les dossiers réels pourraient être différents selon le système d’exploitation sur lequel vous exécutez le conteneur. Le conteneur doit donc mapper les dossiers de votre système à ceux de l’application.
L’explication simple : vous devez dire au conteneur où il peut stocker des données.
Dans les fichiers Docker Compose, vous trouverez ces répertoires listés sous la section “volumes”.
La syntaxe pour les volumes est la suivante :(dossier de votre système):(dossier interne de l'application)

- Sur le côté gauche des deux points (:), modifiez cela pour pointer vers un dossier sur votre système.
- Sur le côté droit des deux points (:), ne changez rien.
Pour notre exemple Photoprism, la documentation dit de modifier cette ligne :~/Pictures:/photoprism/originals
Actuellement, cela pointe vers le dossier Pictures dans mon répertoire personnel. Vous pouvez le changer pour n’importe quel dossier où votre système stockera les photos. Par exemple, vous pouvez même le changer pour un dossier USB monté si vous prévoyez de stocker toutes vos photos sur un disque externe.
Dans ce cas, la configuration par défaut fonctionne parfaitement pour Raspberry Pi OS. Mais j’ai vu de nombreux fichiers Compose d’exemple où les dossiers par défaut n’existent pas sur mon système.
Important : Les volumes spécifiés doivent déjà exister, mais si ce n’est pas le cas, vous devez changer le chemin ou créer les répertoires vous-même. Docker Compose ne le fera PAS pour vous.
Si ce n’est pas configuré correctement, le conteneur ne démarrera pas ou ne fonctionnera pas comme prévu.
C’est tout ce que vous avez à modifier dans le fichier Compose : enregistrez vos modifications et quittez Nano.
Photoprism avait d’excellents paramètres par défaut pour Raspberry Pi OS, donc tout ce que nous avons changé était le mot de passe. C’est ce qui rend Docker Compose si attrayant : la configuration est aussi simple que de modifier un fichier texte.
3. Lancer le conteneur avec Docker Compose
Maintenant, c’est l’heure du spectacle ! Lançons Photoprism avec Docker Compose.
- Exécutez cette commande depuis le répertoire où vous avez mis le fichier Compose.
docker compose up
- Vous verrez Docker Compose télécharger des fichiers et faire sa magie. Une fois terminé, vous verrez le serveur Photoprism passer en mode écoute.
Astuce : Pour les conteneurs destinés à être des serveurs allumés en permanence, il est plus pratique de les exécuter en arrière-plan. Pour détacher la sortie, ajoutez le flag -d :docker compose up -d
- Allez sur un autre PC et dirigez votre navigateur vers le Raspberry Pi sur le port 2342.
192.168.1.69:2342
(Remplacez 192.168.1.69 par l’adresse IP locale de votre Pi.)

Ça a fonctionné ! Pour vous connecter, le nom d’utilisateur est ‘admin’ et le mot de passe est celui que vous avez défini précédemment.
Il y a d’autres choses à faire pour utiliser Photoprism, mais ce n’était qu’un exemple pour vous montrer la facilité avec laquelle il est possible de faire fonctionner une application non native sur Raspberry Pi avec seulement quelques modifications de lignes dans un fichier Docker Compose.
Je n’ai pas eu à comprendre quelles dépendances installer. Et encore mieux, je n’ai pas eu à configurer la base de données MariaDB dont Photoprism a besoin. Le conteneur s’est chargé de tout.
Docker Compose est une révolution dans les bonnes situations.
Plus de possibilités avec Docker Compose
Si vous cherchez d’autres conteneurs à exécuter, voici une liste des plus populaires que je recommande. J’ai fourni des liens vers des endroits où vous pouvez obtenir des exemples de fichiers Docker Compose.
J’ai également fourni des liens vers nos tutoriels, juste au cas où vous préférez installer l’application nativement sur Raspberry Pi ou souhaitez apprendre comment cela fonctionne. Bonne conteneurisation !
Multimédia
- Plex – un serveur multimédia pour la TV et les films (Compose file).
- Jellyfin – un serveur multimédia entièrement hors ligne, gratuit et open source (Compose file).
- Sonarr – gère automatiquement vos séries (Compose file).
- Radarr – gère automatiquement votre collection de films (Compose file).
- Bazarr – télécharge automatiquement des sous-titres pour les séries et les films (Compose file).
- FreshRSS – un agrégateur de flux auto-hébergé pour suivre plusieurs sites en un seul endroit (Compose file).
- BookStack – créez votre propre Wiki (Compose file).
Productivité
- Code Server – codez avec VS Code via un navigateur web (Compose file).
- Photoprism – un gestionnaire de photos avec IA (Compose file).
- Lychee – un outil de gestion de photos (Compose file).
- Obsidian – une application de prise de notes avec de nombreux plugins puissants (Compose file).
- Mealie – un gestionnaire de recettes auto-hébergé (Compose file).
Partage de fichiers
- NextCloud – hébergez votre propre cloud (Compose file).
- qBittorrent (en anglais) – un client torrent complet (Compose file).
- Transmission – un client torrent léger (Compose file).
- Syncthing – synchronisez des fichiers entre plusieurs appareils (Compose file).
Gestion du Homelab
- Heimdall – un tableau de bord esthétique pour organiser toutes vos applications serveur (Compose file).
- Home Assistant – le summum de l’automatisation de la maison intelligente (Compose file).
- Vaultwarden – un serveur de gestionnaire de mots de passe Bitwarden (Compose file).
Outils réseau
- Grafana – pour tout surveiller, comme le trafic réseau (Compose file).
- SpeedTest (en anglais) – testez la vitesse de votre connexion Internet (Compose file).
- duckdns – mappez un domaine à votre adresse IP dynamique (Compose file).
- Pi-Hole – un bloqueur de publicités à l’échelle du réseau (Compose file).
- Nginx – exécutez votre serveur web (Compose file).
- UniFi Controller – gérez vos appareils réseau UniFi (Compose file).
Eh bien, je suis à bout de souffle. Si cela ne vous suffit pas, il y a plus d’options que vous pouvez parcourir dans le registre officiel. N’oubliez pas que si vous utilisez un Raspberry Pi plus récent avec un processeur 64 bits, vous devrez utiliser des images Docker qui prennent en charge ARM64.
C’est tout, les amis ! Maintenant vous savez comment déployer facilement des conteneurs Docker avec des fichiers Docker Compose.
Si vous voulez gérer des conteneurs via une interface graphique, je vous recommande de consulter notre guide sur Portainer (en anglais). Pour monter en compétence, combinez vos connaissances des fichiers Docker Compose avec Portainer. Et bientôt, tout le monde dans votre rue vous connaîtra comme le gourou des conteneurs.
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
Vous comprenez l'anglais et en voulez encore plus ? Je publie une nouvelle leçon chaque mois, réservée à mes abonnés premium. Rejoignez la communauté dès maintenant pour y avoir accès !
FAQ
Comment voir quels conteneurs Docker sont en cours d’exécution ?
Pour voir tous vos conteneurs, utilisez cette commande :docker ps -a

La colonne STATUS vous indique si le conteneur est démarré ou arrêté.
Comment démarrer, arrêter ou supprimer des conteneurs avec Docker Compose ?
Ces commandes doivent être exécutées depuis le répertoire contenant le fichier Compose de votre application.
- Pour télécharger et installer un nouveau conteneur, utilisez la commande up.
docker compose up
- Pour supprimer un conteneur existant, utilisez la commande down.
docker compose down
Une fois que vous avez configuré un conteneur comme vous le souhaitez, vous n’avez pas besoin de l’installer ou de le supprimer à chaque fois que vous voulez démarrer ou arrêter l’application. Utilisez plutôt ceci :
- Pour mettre en pause un conteneur en cours d’exécution, utilisez la commande stop.
docker compose stop
- Pour reprendre un conteneur en pause, utilisez la commande start.
docker compose start
Comment mettre à jour Docker et Docker Compose ?
Une fois installés, Docker et Docker Compose peuvent être mis à jour avec la mise à jour normale de votre système. sudo apt update
sudo apt upgrade
Vous pouvez également supprimer ces programmes avec APT de la même manière que vous enlevez d’autres.
Comment mettre à jour un conteneur d’application avec Docker Compose ?
Le gestionnaire de paquets de votre système, APT, ne mettra pas à jour les applications fonctionnant en tant que conteneurs pour vous.
Pour mettre à jour un conteneur, exécutez les commandes suivantes :
- Téléchargez la dernière version de l’image.
docker compose pull
- Réinstallez à nouveau le conteneur.
docker compose up

Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
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 où 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