Installation de Docker
Installer Docker simplement sous Linux et comprendre Docker Compose
Docker permet d’installer et de faire fonctionner des applications dans des "conteneurs", sans modifier profondément son système.
C’est particulièrement utile en radioamateur pour déployer :
- un site web,
- un serveur de monitoring relais,
- une base de données,
- un outil APRS,
- ou tout autre service comme svxlink, mmdvmhost, ...
Voici une installation simple, suivie d’une explication Docker Compose.
Plus d'information consulter la documentation officielle:

📦 Installer Docker avec le script officiel
Docker fournit un script automatique qui installe la bonne version selon votre distribution.
Télécharger et lancer le script :
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.shCe script :
- ajoute le dépôt officiel Docker
- installe Docker Engine
- installe containerd
- active le service au démarrage
✅ Vérifier si Docker est démarré
systemctl status dockerSi tu vois active (running) → tout est bon ✅
🚀 Démarrer Docker manuellement
Si le service n’est pas actif :
sudo systemctl start dockerPour qu’il démarre automatiquement au boot :
sudo systemctl enable docker👤 Utiliser Docker sans sudo
Par défaut, Docker nécessite les droits administrateur.
Pour éviter d’utiliser sudo à chaque commande :
sudo usermod -aG docker $USER$USER
⚠️ Important :
-asignifie ajouter-Gprécise le groupe- ne jamais oublier
-a, sinon vous écrasez les groupes existants $USERcorrespond à votre nom d'utilisateur (ex:pipour le Raspberry)
docker run hello-worldSi cela fonctionne sans sudo, c’est bon 🎉
🧱 Comprendre Docker Compose
Autrefois, Docker Compose était un programme séparé (docker-compose).
Aujourd’hui, il est intégré directement dans Docker.
On l’utilise avec :docker compose(avec un espace, et non plus un tiret)
🎯 À quoi sert Docker Compose ?
Docker Compose permet de :
- lancer plusieurs conteneurs en même temps
- définir toute une infrastructure dans un seul fichier
- démarrer un service complexe avec une seule commande
Très pratique pour :
- un site web + base de données
- un service radio + tableau de bord
📄 Exemple simple avec docker-compose.yml
nano docker-compose.ymlExemple minimal d'un serveur web Nginx:
services:
nginx:
image: nginx:latest
ports:
- "8080:80"Puis lancer :
docker compose up -dDocker télécharge l’image et démarre le service.
Arrêter :
docker compose down🚀 Pourquoi Docker Compose est intéressant ?
Imaginez :
- un serveur de monitoring relais
- une base de données
- une logique d'un relais type
svxlinkoummdvmhost
Avec Docker Compose :
- tout est défini dans un seul fichier
- la sauvegarde est simple
- la migration vers un autre serveur est rapide
- la reconstruction prend quelques minutes
C’est idéal pour un Raspberry Pi, un VPS ou un petit serveur dédié.
🚀 Démarrer une application
▶️ Lancer les services
docker compose upCela :
- lit le fichier
docker-compose.yml - télécharge les images si nécessaire
- crée les conteneurs
- affiche les logs dans le terminal
🔇 Lancer en arrière-plan
docker compose up -d-d signifie detached (mode arrière-plan).
👉 C’est l’option la plus utilisée pour un serveur.
🛑 Arrêter les services
docker compose downCela :
- arrête les conteneurs
- les supprime
- conserve les volumes (sauf option contraire)
❗ Supprimer aussi les volumes
docker compose down -v⚠️ Attention : les données seront supprimées si elles sont dans des volumes Docker.
🔄 Redémarrer
docker compose restartOu pour un seul service :
docker compose restart "nom_du_service"📋 Voir les conteneurs actifs
docker compose psAffiche l’état des services définis dans ton compose.
📜 Voir les logs
docker compose logsSuivre les logs en temps réel :
docker compose logs -fPour un service spécifique :
docker compose logs -f svxlinkTrès utile pour déboguer un site ou un service radio.
🧹 Mettre à jour les images ou reconstruire une image
Télécharger les dernières versions :
docker compose pull ou docker compose build --no-cache
Puis :
docker compose up -dSimple, propre, efficace.
🎯 Résumé des commandes essentielles
| Commande | À quoi ça sert |
|---|---|
docker compose up -d | Démarrer en arrière-plan |
docker compose down | Arrêter et supprimer |
docker compose restart | Redémarrer |
docker compose ps | Voir l’état |
docker compose logs -f | Voir les logs en direct |
docker compose pull | Mettre à jour les images |
docker compose up -d --build | Rebuild et redémarrer |
💡 Astuce pratique
Dans un dossier contenant ton docker-compose.ymlou compose.yml, tu peux simplement faire :
docker compose up -dDocker sait automatiquement quel fichier utiliser.
📘 Résumé des options principales de docker-compose.yml ou compose.yml
Un fichier docker-compose.yml ou compose.yml permet de définir et lancer plusieurs conteneurs avec une seule commande :
docker compose up -dVoici les options les plus importantes à connaître.
🧱 services
Définit les conteneurs à lancer.
services:
web:
image: nginxChaque service = un conteneur. Dans cette exemple le service et web.
🐳 image
Indique l’image Docker à utiliser.
image: svxlink:latest🌐 ports
Expose un port du conteneur vers la machine hôte.
ports:
- "8080:80"Format :
PORT_MACHINE:PORT_CONTENEUR
💾 volumes
Permet de conserver les données en dehors du conteneur.
volumes:
- ./data:/var/lib/appFormat :
DOSSIER_MACHINE:DOSSIER_CONTENEUR
Indispensable pour bases de données et fichiers persistants.
🔁 restart
Gère le redémarrage automatique.
restart: unless-stoppedOptions courantes :
noalwaysunless-stopped✅ (recommandé pour un serveur)on-failure
🌍 environment
Définit des variables d’environnement.
environment:
- TZ=Europe/Paris
- NODE_ENV=production🔗 depends_on
Définit l’ordre de démarrage.
depends_on:
- db🏷 container_name
Permet de donner un nom personnalisé au conteneur.
container_name: ghost_blog🌐 networks
Permet de connecter plusieurs conteneurs entre eux.
networks:
- backend(Utile pour des architectures plus avancées.)
🎯 Les 5 options essentielles à retenir
Pour 90 % des usages (site web, monitoring, outils radio), tu utiliseras surtout :
imageportsvolumesrestartenvironment
🔐 Petit rappel sécurité
Le groupe docker donne quasiment des droits administrateur.
À utiliser uniquement sur une machine de confiance.
Conclusion
Docker simplifie énormément le déploiement de services techniques.
Docker Compose permet d’aller plus loin en structurant proprement une infrastructure.
Pour quelqu'un qui aime expérimenter, c’est un outil extrêmement puissant tout en gardant votre OS propre 💪
