Portainer : les conteneurs via le navigateur
Comment installer un panneau web de gestion des conteneurs, pourquoi il est pratique et pourquoi il ne faut pas l'exposer sur Internet sans protection.
Mis à jour le 23 août 2026
Portainer est une interface web pour Docker : une liste de conteneurs, les logs, une console dans un conteneur, les volumes, les réseaux et les stacks Compose. C'est pratique quand vous ne voulez pas vous connecter en SSH à chaque fois juste pour « voir ce qui a planté ».
Installation
docker volume create portainer_data
docker run -d \
--name portainer \
--restart unless-stopped \
-p 127.0.0.1:9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.21.4
Le port est lié à l'interface locale. Vous pouvez ouvrir le panneau via un tunnel SSH :
ssh -L 9443:127.0.0.1:9443 root@<machine-address>
Ouvrez ensuite https://localhost:9443 dans votre navigateur. Le certificat est auto-signé, le navigateur vous avertira donc — c'est normal lorsque vous y accédez via un tunnel.
Le premier administrateur est créé par la première personne qui ouvre le panneau. Si vous avez exposé le port sur Internet et êtes parti boire un thé, l'administrateur ne sera pas vous. Portainer ferme l'inscription quelques minutes après le démarrage, mais vous ne devez pas compter là-dessus — créez le compte immédiatement.
Pourquoi c'est dangereux et que faire
Le panneau monte /var/run/docker.sock. L'accès à ce socket équivaut à un accès root sur la machine : via celui-ci, vous pouvez démarrer un conteneur avec le root de l'hôte monté. D'où les règles :
- N'exposez pas le port sur Internet. Utilisez soit un tunnel SSH, soit un serveur web avec un certificat et l'authentification à deux facteurs.
- Choisissez un mot de passe administrateur long et unique, différent du mot de passe root de la machine.
- Donnez à chaque personne un compte distinct avec des droits limités, pas un identifiant partagé.
- Si vous avez rarement besoin du panneau, gardez le conteneur arrêté et démarrez-le au besoin :
docker start portainer.
Ce qui est pratique
- Les logs avec recherche et mise en évidence — plus rapide que
docker logsdans une console texte de 80×24. - Une console dans le conteneur directement dans le navigateur.
- Les stacks — collez le contenu de
compose.yaml, cliquez sur déployer. Pratique pour des services ponctuels, mais pour les services permanents, mieux vaut garder le fichier sur le disque sous contrôle de version : une stack créée dans le panneau est facile à perdre lors d'une réinstallation. - Les volumes et les images — vous voyez ce qui occupe combien d'espace ; cela aide à diagnostiquer un manque d'espace.
Ce que vous ne devez pas y faire
- Y conserver l'unique copie de vos définitions de services. Les fichiers
compose.yamldans un répertoire sur le disque survivront au panneau. - Mettre à jour des conteneurs avec le bouton « recréer » sans comprendre ce qui arrivera aux volumes. Voir mise à jour des conteneurs.
- Le considérer comme un remplacement de la supervision. Portainer montre l'état actuel, pas l'historique, et n'envoie pas d'alertes — pour cela, il vous faut Uptime Kuma.
Ressources
Le conteneur utilise environ 100 Mo de mémoire et fonctionne sur n'importe quel tier. Les données sont stockées dans le volume portainer_data : comptes, paramètres, stacks. Incluez-le dans votre sauvegarde ou soyez prêt à reconfigurer le panneau.
Erreurs courantes
- Oublier que le panneau ne gère que cette machine. Il peut aussi gérer une seconde machine, mais cela nécessite un agent dessus et un port ouvert entre les deux.
- Utiliser le tag
latestpour le panneau lui-même. Une mise à jour majeure change le format des données. Épinglez la version. - Supprimer un volume « inutilisé » via le nettoyage. Portainer vous avertit, mais les gens cliquent sur le bouton sans lire. Les volumes avec des bases de données semblent inutilisés tant que le conteneur est arrêté — voir volumes.