Tu as entendu parler de Docker partout. « C’est l’avenir », « Tous les devs l’utilisent », « Tu devrais apprendre Docker ».
Mais quand tu cherches des tutos, tu tombes sur des explications cryptiques avec des schémas de conteneurs, d’images, de volumes, et tu te demandes pourquoi faire simple quand on peut faire compliqué ?
Bonne nouvelle : Docker, c’est en fait super simple. Et dans cet article, on va le prouver en déployant 10 services concrets en quelques lignes de commandes.
Pas de théorie inutile. Que du concret.
TL;DR : Docker en 3 phrases
- C’est quoi ? Une façon de lancer des applications dans des « boîtes » isolées
- Pourquoi ? Installation en 2 minutes, pas de conflit entre logiciels, facile à supprimer
- Comment ? Un fichier
docker-compose.yml
+ une commande = service opérationnel

Docker, c’est quoi (sans le jargon de dev)
Imagine que tu veuilles installer Nextcloud sur ton serveur.
Sans Docker :
- Installer PHP 8.2 (ou 8.3 ?)
- Installer Apache (ou Nginx ?)
- Installer MySQL (ou PostgreSQL ?)
- Configurer les permissions
- Éditer 15 fichiers de config
- Croiser les doigts
- Débugger pendant 2h parce que PHP.ini ne charge pas le bon module
Avec Docker :
- Créer un fichier
docker-compose.yml
- Taper
docker compose up -d
- C’est tout. Nextcloud tourne.
Comment ça marche ?
Docker prend une image (= un modèle d’application prêt à l’emploi) et crée un conteneur (= une instance en cours d’exécution).
Analogie simple :
- L’image = la recette d’un gâteau
- Le conteneur = le gâteau cuit qu’on peut manger
Tu peux créer 10 conteneurs à partir de la même image. Chaque conteneur est isolé des autres.
À savoir :
Docker n’est pas de la virtualisation comme Proxmox ou VMware. C’est beaucoup plus léger : les conteneurs partagent le noyau Linux du système hôte. Résultat : c’est ultra-rapide.
Pourquoi Docker change tout pour l’auto-hébergement
Si tu as lu mon guide sur l’auto-hébergement, tu sais qu’on peut héberger plein de services. Mais Docker rend ça 10x plus facile.
Les avantages de Docker pour ton homelab
1. Installation ultra-rapide
Pas besoin de passer 3h à installer des dépendances. Un docker compose up
, et c’est prêt.
2. Isolation complète
Chaque service tourne dans sa bulle. Si Nextcloud plante, ton serveur mail continue de fonctionner.
3. Portabilité
Tu changes de serveur ? Tu copies ton dossier de configs, tu relances Docker, et tout remarche.
4. Mises à jour simplifiées
docker compose pull # Télécharger la nouvelle version
docker compose up -d # Redémarrer avec la nouvelle version
5. Facile à supprimer
Tu veux tester un truc ? Tu supprimes tout en 2 secondes sans laisser de traces.
Erreur fréquente :
Beaucoup de débutants pensent que Docker = complexe. En réalité, c’est l’inverse : Docker simplifie énormément l’installation de services.
Installation de Docker (Ubuntu/Debian)
Avant de commencer, assure-toi d’avoir un serveur sécurisé. Si ce n’est pas déjà fait, consulte mon guide sur la sécurisation d’un serveur Linux.
Étape 1 : Installer Docker Engine
On va installer la dernière version stable directement depuis le dépôt officiel Docker.
# Mise à jour du système
sudo apt update && sudo apt upgrade -y
# Installation des prérequis
sudo apt install -y ca-certificates curl gnupg lsb-release
# Ajout de la clé GPG officielle Docker
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Ajout du dépôt Docker
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Installation de Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Étape 2 : Vérifier que Docker fonctionne
sudo docker run hello-world
Si tu vois un message de bienvenue, c’est bon ! 🎉
Étape 3 : Utiliser Docker sans sudo (optionnel mais recommandé)
sudo usermod -aG docker $USER
Déconnecte-toi et reconnecte-toi pour que ça prenne effet. Ensuite, tu pourras faire docker ps
sans sudo
.
Sécurité :
Ajouter ton user au groupe Docker lui donne des droits équivalents à root. Sur un serveur de prod, réfléchis-y à deux fois. Pour ton homelab perso, aucun souci.
Docker Compose : Le fichier magique
Docker Compose, c’est ce qui rend Docker vraiment puissant pour l’auto-hébergement.
Au lieu de lancer des commandes docker run
à rallonge, tu définis tout dans un fichier YAML, et Docker s’occupe du reste.
Structure d’un fichier docker-compose.yml
services:
nom-du-service:
image: nom-de-limage:version
container_name: mon-conteneur
ports:
- "port-externe:port-interne"
volumes:
- /chemin/local:/chemin/conteneur
environment:
- VARIABLE=valeur
restart: unless-stopped
Décryptage :
image
: L’application à télécharger (depuis Docker Hub)container_name
: Le nom de ton conteneur (pour le retrouver facilement)ports
: Quel port sur ton serveur redirige vers quel port du conteneurvolumes
: Où stocker les données (pour qu’elles survivent si tu supprimes le conteneur)environment
: Les variables de configurationrestart
: Redémarre automatiquement si le conteneur plante
Commandes Docker Compose essentielles
# Démarrer tous les services
docker compose up -d
# Voir les conteneurs en cours
docker compose ps
# Voir les logs
docker compose logs -f nom-du-service
# Arrêter tout
docker compose down
# Mettre à jour
docker compose pull
docker compose up -d
Organisation des fichiers (bonne pratique)
Avant de déployer tes services, crée une structure propre :
# Créer le dossier principal
mkdir -p ~/docker
cd ~/docker
# Pour chaque service, un dossier
mkdir -p uptime-kuma nextcloud vaultwarden jellyfin
Pourquoi cette organisation ?
- Un dossier = un service = un fichier
docker-compose.yml
- Facile à gérer, à sauvegarder, à migrer
- Les volumes Docker seront stockés dans des sous-dossiers
Les 10 services essentiels à déployer
1. Uptime Kuma — Monitoring visuel 🟢
C’est quoi ?
Un tableau de bord pour surveiller tous tes services (sites web, API, serveurs).
Pourquoi commencer par ça ?
Parce que dès que tu auras plusieurs services, tu voudras savoir s’ils sont UP ou DOWN.
Difficulté : 🟢 Débutant
Installation
cd ~/docker/uptime-kuma
mkdir data
nano docker-compose.yml
Colle ce contenu :
services:
uptime-kuma:
image: louislam/uptime-kuma:2.0.1
container_name: uptime-kuma
volumes:
- ./data:/app/data
ports:
- "3001:3001"
restart: unless-stopped
Démarre le service :
docker compose up -d
Accès : http://ton-serveur:3001
Résultat : Interface magnifique, création du compte admin, et tu peux commencer à monitorer tes services.
2. Portainer — Interface de gestion Docker 🟢
C’est quoi ?
Une interface web pour gérer tous tes conteneurs Docker sans ligne de commande.
Pourquoi ?
Voir d’un coup d’œil tous tes conteneurs, les logs, les stats CPU/RAM. Indispensable.
Difficulté : 🟢 Débutant
Installation
cd ~/docker/portainer
mkdir data
nano docker-compose.yml
services:
portainer:
image: portainer/portainer-ce:2.35.0
container_name: portainer
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:9000
Premier lancement : Crée ton compte admin, puis sélectionne « Local » pour gérer le Docker de ce serveur.
3. Nginx Proxy Manager — Reverse proxy facile 🟡
C’est quoi ?
Un reverse proxy avec interface web pour gérer tes sous-domaines et certificats SSL automatiquement.
Pourquoi ?
Au lieu d’accéder à tes services via des ports (:3001
, :9000
), tu auras des URLs propres :
uptime.tondomaine.com
portainer.tondomaine.com
Difficulté : 🟡 Intermédiaire
Si tu veux aller plus loin avec Nginx, j’ai un guide sur comment sécuriser Nginx avec des headers HTTP.
Installation
cd ~/docker/nginx-proxy-manager
nano docker-compose.yml
services:
nginx-proxy-manager:
image: jc21/nginx-proxy-manager:2.12.6
container_name: nginx-proxy-manager
ports:
- "80:80"
- "443:443"
- "81:81"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:81
Identifiants par défaut :
- Email :
admin@example.com
- Password :
changeme
Important : Change immédiatement le mot de passe après la première connexion.
4. Vaultwarden — Gestionnaire de mots de passe 🟢
C’est quoi ?
Une version allégée et auto-hébergée de Bitwarden (compatible avec toutes les apps officielles).
Pourquoi ?
Fini les mots de passe réutilisés partout. Et contrairement à LastPass, tu gardes le contrôle.
Difficulté : 🟢 Débutant
Installation
cd ~/docker/vaultwarden
mkdir data
nano docker-compose.yml
services:
vaultwarden:
image: vaultwarden/server:1.34.3
container_name: vaultwarden
volumes:
- ./data:/data
ports:
- "8080:80"
environment:
- SIGNUPS_ALLOWED=true
- ADMIN_TOKEN=ton_token_super_secret
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:8080
⚠️ Important :
- Une fois ton compte créé, change
SIGNUPS_ALLOWED=false
pour empêcher d’autres inscriptions - Utilise Nginx Proxy Manager pour avoir du HTTPS (obligatoire pour les apps mobiles)
5. Nextcloud — Ton cloud personnel 🟡
C’est quoi ?
L’alternative open source à Google Drive, avec synchronisation fichiers, calendrier, contacts, notes…
Pourquoi ?
C’est LE service signature de l’auto-hébergement. Si tu n’héberges qu’un seul truc, c’est Nextcloud.
Difficulté : 🟡 Intermédiaire
Installation
cd ~/docker/nextcloud
mkdir data
nano docker-compose.yml
services:
nextcloud-db:
image: mariadb:10.11
container_name: nextcloud-db
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=motdepasse_root_securise
- MYSQL_PASSWORD=motdepasse_nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: unless-stopped
nextcloud:
image: nextcloud:32
container_name: nextcloud
ports:
- "8081:80"
volumes:
- ./data:/var/www/html
environment:
- MYSQL_HOST=nextcloud-db
- MYSQL_PASSWORD=motdepasse_nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
depends_on:
- nextcloud-db
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:8081
Premier lancement :
- Crée ton compte admin
- Sélectionne MySQL/MariaDB
- Utilise les identifiants du docker-compose
- Installe les apps recommandées
Astuce : Active la prévisualisation des fichiers et l’app Memories pour gérer tes photos comme sur Google Photos.
6. Jellyfin — Serveur média (Netflix maison) 🟡
C’est quoi ?
Un serveur de streaming pour tes films, séries, musique. Open source, sans télémétrie, sans pub.
Pourquoi ?
Parce que c’est satisfaisant d’avoir son propre Netflix avec sa bibliothèque perso.
Difficulté : 🟡 Intermédiaire
Installation
cd ~/docker/jellyfin
mkdir -p config cache
nano docker-compose.yml
services:
jellyfin:
image: jellyfin/jellyfin:10.11.0
container_name: jellyfin
ports:
- "8096:8096"
volumes:
- ./config:/config
- ./cache:/cache
- /chemin/vers/tes/films:/media/films:ro
- /chemin/vers/tes/series:/media/series:ro
restart: unless-stopped
Importante : Remplace /chemin/vers/tes/films
par le vrai chemin où sont stockés tes médias.
docker compose up -d
Accès : http://ton-serveur:8096
Configuration :
- Crée ton compte admin
- Ajoute tes bibliothèques (Films, Séries, Musique)
- Active les métadonnées automatiques (TMDB, TVDB)
- Installe l’app mobile (iOS/Android) pour regarder partout
7. Homer — Dashboard central 🟢
C’est quoi ?
Une page d’accueil personnalisable avec des liens vers tous tes services.
Pourquoi ?
Au lieu de mémoriser 15 URLs et ports, tu as une seule page avec tout.
Difficulté : 🟢 Débutant
Installation
cd ~/docker/homer
mkdir assets
nano docker-compose.yml
services:
homer:
image: b4bz/homer
container_name: homer
volumes:
- ./assets:/www/assets
ports:
- 8082:8080
user: 1000:1000 # utilisateur par défaut, adapte en fonction
environment:
- INIT_ASSETS=1 # status 1 créer le fichier de config
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:8082
Configuration : Édite le fichier ./assets/config.yml
pour ajouter tes services.
8. Immich — Alternative Google Photos 🟡
C’est quoi ?
Une app de backup et d’organisation de photos avec reconnaissance faciale, géolocalisation, et recherche intelligente.
Pourquoi ?
Google Photos c’est pratique, mais tes photos servent à entraîner leurs algos. Immich fait pareil, mais chez toi.
Difficulté : 🟡 Intermédiaire
Installation
cd ~/docker/immich
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
Édite le fichier .env
pour configurer :
UPLOAD_LOCATION
: où stocker les photosDB_PASSWORD
: mot de passe PostgreSQL
docker compose up -d
Accès : http://ton-serveur:2283
Apps mobiles : Disponibles sur iOS et Android pour synchroniser automatiquement tes photos.
9. Paperless-ngx — GED personnelle 🟡
C’est quoi ?
Un système de gestion documentaire qui scanne, indexe et organise tous tes documents (factures, contrats, etc.).
Pourquoi ?
Fini les classeurs qui débordent. Scanne tes docs, et Paperless les classe automatiquement avec OCR.
Difficulté : 🟡 Intermédiaire
Installation
cd ~/docker/paperless
mkdir -p db data media export consume
nano docker-compose.yml
services:
paperless-redis:
image: redis:7
container_name: paperless-redis
restart: unless-stopped
paperless-db:
image: postgres:15
container_name: paperless-db
volumes:
- ./db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=paperless
- POSTGRES_USER=paperless
- POSTGRES_PASSWORD=paperless_password
restart: unless-stopped
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:v2.19.0
container_name: paperless
depends_on:
- paperless-db
- paperless-redis
ports:
- "8083:8000"
volumes:
- ./data:/usr/src/paperless/data
- ./media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
- PAPERLESS_REDIS=redis://paperless-redis:6379
- PAPERLESS_DBHOST=paperless-db
- PAPERLESS_DBPASS=paperless_password
- PAPERLESS_OCR_LANGUAGE=fra
- PAPERLESS_SECRET_KEY=change-me-to-something-secure
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:8083
Utilisation :
- Crée ton compte admin
- Scanne tes documents (ou dépose-les dans
./consume
) - Paperless les indexe automatiquement avec OCR
- Recherche par mots-clés, dates, tags
10. FreshRSS — Agrégateur RSS 🟢
C’est quoi ?
Un lecteur de flux RSS pour centraliser tous tes sites d’actu préférés.
Pourquoi ?
Reprendre le contrôle de ce que tu lis, sans algorithme qui décide pour toi.
Difficulté : 🟢 Débutant
Installation
cd ~/docker/freshrss
mkdir -p db data
nano docker-compose.yml
services:
freshrss-db:
image: postgres:15
container_name: freshrss-db
volumes:
- ./db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=freshrss
- POSTGRES_PASSWORD=freshrss_password
- POSTGRES_DB=freshrss
restart: unless-stopped
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
depends_on:
- freshrss-db
ports:
- "8084:80"
volumes:
- ./data:/var/www/FreshRSS/data
environment:
- CRON_MIN=*/15
- TZ=Europe/Paris
restart: unless-stopped
docker compose up -d
Accès : http://ton-serveur:8084
Configuration :
- Suis l’assistant d’installation
- Configure PostgreSQL avec les identifiants du docker-compose
- Ajoute tes flux RSS préférés
- Active le thème sombre (évidemment)
Commandes Docker essentielles (antisèche)
Gestion des conteneurs
# Voir tous les conteneurs en cours
docker ps
# Voir TOUS les conteneurs (même arrêtés)
docker ps -a
# Arrêter un conteneur
docker stop nom-conteneur
# Redémarrer un conteneur
docker restart nom-conteneur
# Supprimer un conteneur (il doit être arrêté avant)
docker rm nom-conteneur
Gestion des images
# Lister les images téléchargées
docker images
# Supprimer une image
docker rmi nom-image:tag
# Télécharger une image
docker pull nom-image:tag
Logs et debug
# Voir les logs d'un conteneur
docker logs nom-conteneur
# Suivre les logs en temps réel
docker logs -f nom-conteneur
# Entrer dans un conteneur (pour débugger)
docker exec -it nom-conteneur /bin/bash
Nettoyage
# Supprimer tous les conteneurs arrêtés
docker container prune
# Supprimer toutes les images non utilisées
docker image prune
# Nettoyage complet (ATTENTION : supprime tout ce qui n'est pas utilisé)
docker system prune -a
Erreurs fréquentes et solutions
❌ Erreur : « Port already allocated »
Problème : Le port que tu veux utiliser est déjà occupé.
Solution :
# Voir quel process utilise le port 8080
sudo lsof -i :8080
# Ou change le port dans docker-compose.yml
ports:
- "8085:80" # Au lieu de 8080:80
❌ Erreur : « permission denied » sur les volumes
Problème : Docker ne peut pas écrire dans le dossier.
Solution :
# Donner les permissions au dossier
sudo chown -R $USER:$USER ~/docker/nom-service
❌ Conteneur qui redémarre en boucle
Problème : Le service plante au démarrage.
Solution :
# Voir les logs pour comprendre pourquoi
docker logs nom-conteneur
# Les erreurs courantes :
# - Variable d'environnement manquante
# - Port déjà utilisé
# - Volume mal configuré
❌ « Cannot connect to Docker daemon »
Problème : Le service Docker n’est pas démarré.
Solution :
# Démarrer Docker
sudo systemctl start docker
# Activer au démarrage
sudo systemctl enable docker
Bonnes pratiques pour ton homelab Docker
1. Toujours utiliser des versions fixes
❌ Mauvais :
image: nextcloud:latest
✅ Bon :
image: nextcloud:28
Pourquoi ? latest
peut casser tes services lors d’une mise à jour majeure. Avec une version fixe, tu contrôles quand tu updates.
2. Utiliser des volumes nommés ou des bind mounts
✅ Bind mount (recommandé pour homelab) :
volumes:
- ./data:/app/data
Avantage : Tu sais exactement où sont tes fichiers, facile à sauvegarder.
3. Configurer restart: unless-stopped
restart: unless-stopped
Ton serveur reboot ? Tes conteneurs redémarrent automatiquement.
4. Un réseau Docker par « projet »
Pour des services qui doivent communiquer ensemble (ex: Nextcloud + sa base de données), utilise un réseau dédié :
networks:
nextcloud-net:
services:
nextcloud-db:
networks:
- nextcloud-net
nextcloud:
networks:
- nextcloud-net
5. Documenter tes docker-compose
Ajoute des commentaires dans tes fichiers. Ton futur toi te remerciera.
services:
nextcloud:
image: nextcloud:28
# Port 8081 car 8080 déjà utilisé par Vaultwarden
ports:
- "8081:80"
Sauvegarder tes services Docker
Les conteneurs Docker sont éphémères. Si tu supprimes un conteneur, tu perds ses données… sauf si tu as bien configuré les volumes.
Stratégie de backup simple
# Créer un dossier backup
mkdir -p ~/backups
# Script de backup quotidien
#!/bin/bash
DATE=$(date +%Y-%m-%d)
tar -czf ~/backups/docker-$DATE.tar.gz ~/docker/
# Garder seulement les 7 derniers backups
find ~/backups -name "docker-*.tar.gz" -mtime +7 -delete
Ajoute ce script dans un cron pour qu’il tourne tous les jours.
Important : Envoie aussi tes backups ailleurs (cloud chiffré, NAS, serveur distant). Règle du 3-2-1 !
Aller plus loin avec Docker
Docker Swarm ou Kubernetes ?
Docker Swarm : Orchestration simple pour gérer plusieurs serveurs Docker.
Kubernetes (K3s) : Orchestration avancée, mais complexe.
Mon conseil : Si tu as un seul serveur, reste sur Docker Compose. Si tu veux apprendre l’orchestration, essaie d’abord Docker Swarm.
Watchtower : Mises à jour automatiques
Watchtower surveille tes conteneurs et les met à jour automatiquement quand une nouvelle version sort.
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 4 * * * # Tous les jours à 4h du matin
restart: unless-stopped
Attention : Teste bien avant d’activer ça en prod. Une mise à jour peut casser un service.
Ressources pour aller plus loin
📚 Articles complémentaires sur ce site
- Auto-hébergement : Le guide complet 2025
- Sécuriser son serveur Linux
- Sécuriser Nginx avec des headers HTTP
🌐 Ressources externes
- Docker Hub : Catalogue d’images Docker
- Awesome-Selfhosted : Liste de services auto-hébergeables
- LinuxServer.io : Images Docker maintenues et optimisées
📺 Chaînes YouTube recommandées
- TechnoTim (en anglais, très bon pour homelab)
- Xavki (en français, DevOps et Docker)
Conclusion : Docker, ton meilleur allié homelab
Si tu retiens une chose de cet article, c’est ça : Docker simplifie tout.
Fini les installs qui prennent 3h, les conflits de dépendances, et les serveurs qu’on n’ose plus toucher de peur de tout casser.
Avec Docker :
- Tu installes un service en 2 minutes
- Tu le mets à jour en 1 commande
- Tu le supprimes sans laisser de traces
Les 10 services de cet article te donnent une base solide pour un homelab complet :
- Monitoring (Uptime Kuma)
- Gestion Docker (Portainer)
- Cloud perso (Nextcloud)
- Mots de passe (Vaultwarden)
- Streaming (Jellyfin)
- Photos (Immich)
- Documents (Paperless-ngx)
- Dashboard (Homer)
- RSS (FreshRSS)
- Reverse proxy (Nginx Proxy Manager)
Prochaine étape ?
Installe Docker, déploie Uptime Kuma et Portainer pour commencer. Puis ajoute les autres services au fur et à mesure.
Dans le prochain article, on parlera de Proxmox pour virtualiser plusieurs VMs et conteneurs LXC. Parce que parfois, Docker ne suffit pas. 😉
Tu galères sur un service ? Pose ta question en commentaires, je réponds à tout ! 👇
FAQ : Les questions Docker qui reviennent souvent
Docker vs LXC vs VM, quelle différence ?
Docker : Conteneurs applicatifs ultra-légers, parfaits pour des services isolés
LXC : Conteneurs système (comme des mini-VMs Linux), plus lourds que Docker
VM : Machine virtuelle complète avec son propre OS, très lourd
Mes conteneurs Docker utilisent beaucoup de RAM, c’est normal ?
Docker alloue de la RAM par conteneur. Si tu as 10 services, ça peut vite monter. Solution :
– Limite la RAM par conteneur dans docker-compose (paramètre mem_limit
)
– Utilise des images « alpine » (versions allégées)
– Ferme les services que tu n’utilises pas
Puis-je faire tourner Docker sur un Raspberry Pi ?
Oui ! Beaucoup d’images sont disponibles en architecture ARM. Certains services lourds (comme Jellyfin avec transcodage) seront limités, mais Nextcloud, Vaultwarden, Uptime Kuma tournent parfaitement.
Docker Compose vs Docker Swarm vs Kubernetes ?
– Docker Compose : Un seul serveur, parfait pour homelab
– Docker Swarm : Plusieurs serveurs, orchestration simple
– Kubernetes : Plusieurs serveurs, orchestration complexe, overkill pour homelab
Pour 99% des homelabs, Docker Compose suffit largement.
Comment migrer mes conteneurs Docker vers un autre serveur ?
1. Arrête tes conteneurs : docker compose down
2. Copie tout le dossier ~/docker
vers le nouveau serveur
3. Relance : docker compose up -d
C’est tout. C’est ça, la magie de Docker.
Docker consomme-t-il beaucoup de ressources ?
Docker lui-même est très léger. Ce sont les services que tu fais tourner qui consomment. Un serveur avec 4 Go de RAM peut faire tourner 5-10 services légers sans problème.
Laisser un commentaire