Guide d'installation de Portainer 2026 : La gestion Docker simplifiée
Installez Portainer CE sur votre VPS pour gérer vos conteneurs Docker avec une interface web. Guide complet avec installation, stacks, templates et gestion multi-serveurs.
Guide d’installation de Portainer : La gestion Docker simplifiée
Portainer vous offre une interface web pour gérer vos conteneurs Docker, images, volumes et réseaux. Au lieu de mémoriser les commandes docker en CLI, vous disposez d’un tableau de bord clair qui rend la gestion des conteneurs visuelle et accessible.
Qu’est-ce que Portainer ?
Portainer est une interface de gestion légère pour Docker et Kubernetes :
- Tableau de bord web — Visualisez tous vos conteneurs, images et volumes en un coup d’œil
- Gestion des stacks — Déployez des stacks Docker Compose depuis l’interface
- Templates d’applications — Déploiement en un clic de plus de 100 applications populaires
- Multi-environnement — Gérez plusieurs hôtes Docker depuis une seule interface
- Gestion des utilisateurs — Accès en équipe avec permissions basées sur les rôles
- Console de conteneur — Accédez au shell des conteneurs depuis le navigateur
- Logs et statistiques — Monitoring en temps réel intégré
Il fonctionne sous la forme d’un seul conteneur Docker et utilise un minimum de ressources.
Portainer CE vs Business
| Fonctionnalité | Community (Gratuit) | Business ($) |
|---|---|---|
| Gestion des conteneurs | ✅ | ✅ |
| Docker Compose/Stacks | ✅ | ✅ |
| Templates d’applications | ✅ | ✅ |
| Accès basé sur les rôles | ✅ | ✅ |
| Environnements multiples | ✅ | ✅ |
| Support Kubernetes | ✅ | ✅ |
| Gestion des registres | Basique | Avancée |
| Déploiements GitOps | ❌ | ✅ |
| Auth externe (LDAP/OAuth) | ❌ | ✅ |
| Support | Communauté | Professionnel |
Pour l’auto-hébergement et les petites équipes : CE est amplement suffisant. Business s’adresse aux organisations ayant besoin d’authentification entreprise et de pistes d’audit.
Prérequis VPS
Portainer en lui-même est léger, mais il faut de la place pour vos conteneurs :
- Minimum : 1 vCPU, 1 Go RAM, 20 Go de stockage
- Recommandé : 2 vCPU, 4 Go RAM, 40 Go+ de stockage
- OS : Ubuntu 22.04+, Debian 12+, ou tout Linux avec Docker
- Ports : 9443 (interface HTTPS), 8000 (Edge agents, optionnel)
Fournisseurs VPS recommandés
| Fournisseur | Offre | Specs | Prix |
|---|---|---|---|
| Hostinger | KVM1 | 1 vCPU, 4 Go RAM | 4,99 $/mois |
| Hetzner | CX22 | 2 vCPU, 4 Go RAM | 5,49 €/mois |
| DigitalOcean | Basic | 2 vCPU, 2 Go RAM | 12 $/mois |
| Vultr | VC2 | 2 vCPU, 4 Go RAM | 24 $/mois |
Meilleur rapport qualité-prix : Hostinger KVM1 vous offre 4 Go de RAM pour 4,99 $/mois — largement suffisant pour Portainer et une douzaine de conteneurs.
Guide d’installation
Étape 1 : Créer votre VPS
- Inscrivez-vous chez le fournisseur de votre choix (nous recommandons Hostinger)
- Créez un VPS avec Ubuntu 22.04 ou Debian 12
- Sélectionnez au moins 2 Go de RAM
- Ajoutez votre clé SSH
- Notez l’adresse IP du serveur
Étape 2 : Installer Docker
Connectez-vous en SSH à votre serveur et installez Docker :
ssh root@your-server-ip
# Update system
apt update && apt upgrade -y
# Install Docker using official script
curl -fsSL https://get.docker.com | sh
# Verify installation
docker --version
docker run hello-world
Étape 3 : Installer Portainer CE
Créez un volume pour les données de Portainer et lancez le conteneur :
# Create data volume
docker volume create portainer_data
# Run Portainer
docker run -d \
-p 8000:8000 \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:sts
C’est tout. Portainer est en cours d’exécution.
Étape 4 : Accéder au tableau de bord
Ouvrez votre navigateur :
https://your-server-ip:9443
Vous verrez un avertissement de certificat SSL auto-signé — c’est normal, acceptez-le.
Lors de la première visite :
- Créez votre compte administrateur
- Définissez un mot de passe robuste (12 caractères minimum requis)
- Cliquez sur Get Started pour vous connecter à l’environnement Docker local
Vous disposez maintenant d’une instance Portainer entièrement fonctionnelle.
Étape 5 : Configurer SSL avec un reverse proxy (optionnel)
Pour un SSL correct, utilisez Caddy ou Traefik comme reverse proxy :
Exemple avec Caddy :
portainer.yourdomain.com {
reverse_proxy localhost:9443 {
transport http {
tls_insecure_skip_verify
}
}
}
Ou avec Nginx :
server {
listen 443 ssl;
server_name portainer.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/portainer.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/portainer.yourdomain.com/privkey.pem;
location / {
proxy_pass https://localhost:9443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Pointez l’enregistrement DNS A de portainer.yourdomain.com vers l’IP de votre serveur.
Déployer des conteneurs
Déployer depuis les templates d’applications
Portainer est livré avec plus de 100 templates intégrés :
- Allez dans App Templates dans la barre latérale
- Parcourez ou recherchez (WordPress, Nginx, MySQL, Redis, etc.)
- Cliquez sur le template
- Configurez les paramètres (nom, ports, volumes)
- Cliquez sur Deploy the container
Templates populaires :
- WordPress — Blog/CMS avec MySQL
- Nginx — Serveur web / reverse proxy
- PostgreSQL — Serveur de base de données
- Redis — Cache / courtier de messages
- GitLab CE — Hébergement Git
- Nextcloud — Stockage cloud auto-hébergé
Déployer avec Docker Compose (Stacks)
Les stacks sont la façon dont Portainer gère les déploiements Docker Compose :
- Allez dans Stacks → Add Stack
- Nommez votre stack
- Collez votre YAML Docker Compose :
services:
app:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- app_data:/usr/share/nginx/html
restart: unless-stopped
volumes:
app_data:
- Cliquez sur Deploy the stack
Vous pouvez également récupérer des fichiers Compose depuis un dépôt Git — utile pour les workflows GitOps.
Déployer un conteneur unique
Pour des conteneurs ponctuels :
- Allez dans Containers → Add Container
- Définissez le Name et l’Image (par ex.
redis:alpine) - Configurez :
- Port mapping — Port hôte → Port conteneur
- Volumes — Stockage persistant
- Environment variables — Valeurs de configuration
- Restart policy — Always, on-failure, etc.
- Cliquez sur Deploy the container
Gérer les conteneurs
Actions sur les conteneurs
Depuis la liste Containers, vous pouvez :
- Start/Stop/Restart — Contrôler l’état du conteneur
- Logs — Visualiser la sortie du conteneur en temps réel
- Console — Accéder au shell du conteneur (bash, sh ou personnalisé)
- Inspect — Voir la configuration complète du conteneur
- Stats — Graphiques CPU, mémoire, réseau, E/S
- Duplicate/Edit — Cloner ou modifier les paramètres du conteneur
Console du conteneur
L’une des meilleures fonctionnalités de Portainer. Besoin de déboguer quelque chose ?
- Cliquez sur le conteneur → Console
- Sélectionnez le shell :
/bin/bashou/bin/sh - Cliquez sur Connect
Vous êtes à l’intérieur du conteneur. Pas de SSH, pas de commandes docker exec nécessaires.
Opérations en masse
Sélectionnez plusieurs conteneurs et :
- Arrêtez tous les conteneurs sélectionnés
- Démarrez tous les conteneurs sélectionnés
- Supprimez tous les conteneurs sélectionnés
- Tuez tous les conteneurs sélectionnés
Utile pour gérer des services liés ensemble.
Gérer les images
Récupérer des images
- Images → Saisissez le nom de l’image (par ex.
node:20-alpine) - Cliquez sur Pull the image
- L’image est téléchargée et prête à l’emploi
Nettoyer les images inutilisées
Les images Docker s’accumulent rapidement :
- Images → Cochez unused images
- Sélectionnez tout → Remove
- Ou utilisez le bouton Prune pour nettoyer tout ce qui est inutilisé
C’est l’équivalent de docker image prune -a mais de manière visuelle et plus sûre.
Gestion des volumes
Créer des volumes
- Volumes → Add Volume
- Nommez-le (par ex.
postgres_data) - Cliquez sur Create the volume
Parcourir le contenu des volumes
Portainer vous permet de parcourir les fichiers à l’intérieur des volumes — pratique pour vérifier les données sans accéder au shell des conteneurs.
Sauvegarder les volumes
Pour les données critiques, sauvegardez vos volumes :
docker run --rm \
-v postgres_data:/data \
-v /backup:/backup \
alpine tar czf /backup/postgres-backup.tar.gz -C /data .
Gestion du réseau
Créer des réseaux
- Networks → Add Network
- Nommez-le, sélectionnez le pilote (
bridge,overlay,macvlan) - Configurez éventuellement le sous-réseau et la passerelle
- Cliquez sur Create the network
Connecter des conteneurs
Pour permettre aux conteneurs de communiquer :
- Ouvrez le réseau
- Join a container → Sélectionnez le conteneur
- Les deux conteneurs peuvent maintenant se joindre par leur nom
C’est ainsi que vous connectez votre conteneur applicatif à votre conteneur de base de données sans exposer les ports de la base de données publiquement.
Gestion multi-serveurs
Ajouter des hôtes Docker distants
Portainer peut gérer plusieurs serveurs depuis un seul tableau de bord :
Méthode 1 : Portainer Agent (recommandée)
Sur le serveur distant :
docker run -d \
-p 9001:9001 \
--name portainer_agent \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent:sts
Dans Portainer :
- Environments → Add Environment
- Sélectionnez Agent
- Saisissez :
remote-server-ip:9001 - Nommez-le, cliquez sur Connect
Méthode 2 : Docker API (moins sécurisée)
Activez Docker TCP sur l’hôte distant et connectez-vous directement. Utilisez cette méthode uniquement via un tunnel sécurisé.
Edge Agents
Pour les serveurs derrière des pare-feux ou du NAT :
- Environments → Add Environment → Edge Agent
- Copiez la commande d’installation générée
- Exécutez-la sur le serveur distant
- L’agent se connecte automatiquement via le port 8000
Aucun port entrant nécessaire sur le serveur distant.
Gestion des utilisateurs
Créer des équipes
- Users → Teams → Add Team
- Nommez l’équipe (par ex. « Développeurs », « Ops »)
Ajouter des utilisateurs
- Users → Add User
- Définissez le nom d’utilisateur et le mot de passe
- Assignez à une équipe
- Définissez le rôle : Administrator ou User
Contrôle d’accès
Accès par environnement et par ressource :
- Accès complet — Contrôle total
- Limité — Uniquement les stacks/conteneurs assignés
- Lecture seule — Visualiser sans modifier
Cela vous permet de donner aux développeurs l’accès au staging tout en gardant la production verrouillée.
Portainer avec Docker Compose
Si vous préférez gérer Portainer lui-même avec Compose :
services:
portainer:
image: portainer/portainer-ce:sts
container_name: portainer
restart: always
ports:
- "8000:8000"
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Enregistrez sous docker-compose.yml et exécutez :
docker compose up -d
Conseils de performance
1. Activer le swap
Si vous utilisez un petit VPS :
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile swap swap defaults 0 0' >> /etc/fstab
2. Définir des limites de ressources
Dans Portainer, lors de la création de conteneurs :
- Définissez une limite mémoire (par ex. 512 Mo pour une app Node)
- Définissez une limite CPU (par ex. 0,5 CPU)
Cela empêche un seul conteneur de consommer toutes les ressources.
3. Nettoyage régulier
Planifiez le nettoyage Docker :
# Add to crontab
0 3 * * 0 docker system prune -af --volumes 2>&1 | logger -t docker-prune
Ou utilisez le nettoyage d’images intégré à Portainer.
4. Utiliser les images Alpine
Lorsque c’est possible, utilisez les variantes alpine :
node:20-alpineau lieu denode:20(50 Mo vs 350 Mo)python:3.12-alpineau lieu depython:3.12nginx:alpineau lieu denginx
Dépannage
Impossible d’accéder à l’interface Portainer
# Check if container is running
docker ps | grep portainer
# Check logs
docker logs portainer
# Verify port is open
ss -tlnp | grep 9443
# Check firewall
ufw status
ufw allow 9443
Le conteneur ne démarre pas
- Vérifiez les logs : Containers → Sélectionnez le conteneur → Logs
- Problèmes courants :
- Port déjà utilisé → Changez le port hôte
- Permission refusée sur le volume → Vérifiez les droits
- Image introuvable → Vérifiez le nom de l’image
Échec du déploiement d’une stack
- Vérifiez la syntaxe du YAML Compose
- Vérifiez que toutes les images existent et sont accessibles
- Cherchez des conflits de ports avec les conteneurs en cours d’exécution
- Consultez le journal de déploiement dans les détails de la stack
Espace disque insuffisant
# Check usage
df -h
# Clean Docker
docker system prune -af --volumes
# Check large images
docker images --format "{{.Repository}}:{{.Tag}} {{.Size}}" | sort -k2 -h
Portainer vs Alternatives
| Outil | Interface | Complexité | Idéal pour |
|---|---|---|---|
| Portainer | Interface web | Faible | Gestion de conteneurs |
| Coolify | Interface web | Faible | Déploiement d’apps (PaaS) |
| Dokploy | Interface web | Faible | Déploiement d’apps (PaaS) |
| Yacht | Interface web | Faible | Interface Docker simple |
| Dockge | Interface web | Faible | Gestion Compose uniquement |
| Lazydocker | Terminal | Faible | Monitoring en CLI |
Portainer est la meilleure interface de gestion Docker polyvalente. Utilisez Coolify ou Dokploy si vous voulez des fonctionnalités PaaS (déploiement Git, SSL automatique). Utilisez Portainer si vous voulez un contrôle total sur chaque conteneur.
FAQ
Combien de RAM Portainer utilise-t-il ?
Environ 50 à 100 Mo. C’est très léger.
Puis-je gérer Docker Swarm avec Portainer ?
Oui. Portainer prend en charge Docker Standalone, Docker Swarm et Kubernetes.
Portainer CE est-il vraiment gratuit ?
Oui, définitivement gratuit pour jusqu’à 5 environnements. Aucune limitation de fonctionnalités au sein de CE.
Comment mettre à jour Portainer ?
docker stop portainer
docker rm portainer
docker pull portainer/portainer-ce:sts
docker run -d -p 8000:8000 -p 9443:9443 \
--name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:sts
Vos données sont conservées dans le volume portainer_data.
Portainer peut-il remplacer Kubernetes ?
Pour les déploiements de petite à moyenne taille, oui. Si vous exécutez moins de 50 conteneurs sur quelques serveurs, Portainer avec Docker est plus simple et moins coûteux que Kubernetes.
Résumé
Portainer transforme la gestion Docker d’une expérience exclusivement en ligne de commande en quelque chose de visuel et accessible. Que vous exécutiez quelques conteneurs sur un seul VPS ou que vous gériez plusieurs serveurs, il vous offre un tableau de bord clair sans la complexité de Kubernetes.
Configuration recommandée :
| Composant | Choix | Coût |
|---|---|---|
| VPS | Hostinger KVM1 | 4,99 $/mois |
| Gestion | Portainer CE | Gratuit |
| Reverse Proxy | Caddy | Gratuit |
| Total | 4,99 $/mois |
Commencez ici : Prenez un VPS Hostinger → Installez Docker → Déployez Portainer → Gérez tout depuis votre navigateur.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
$1 VPS Hosting 2026: Cheapest VPS Servers Starting at $1/Month
Looking for $1 VPS hosting? Compare the cheapest VPS providers starting from $1-3/month. Real specs, no hidden fees, honest reviews of budget VPS options.
tutorialCaddy Reverse Proxy Guide 2026: Automatic HTTPS Made Easy
Set up Caddy as a reverse proxy with automatic HTTPS, zero-config SSL, and simple Caddyfile syntax. Complete VPS deployment guide.
tutorialCloudflare Tunnel VPS Guide 2026: Expose Services Without Opening Ports
Set up Cloudflare Tunnel on your VPS to expose web apps securely without opening ports or revealing your server IP. Complete guide with Docker and DNS config.
tutorialCoolify VPS Setup Guide 2026: Self-Hosted Vercel Alternative
Deploy Coolify on your VPS for a self-hosted Vercel/Netlify experience. Complete setup guide with Docker, SSL, and app deployments.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: March 13, 2026. Disclosure: This article may contain affiliate links.