Portainer CE est l’interface web qui me sert à superviser et dépanner l’hôte Docker : conteneurs, images, volumes, réseaux et stacks Compose depuis le navigateur, avec la console et les logs en direct.
Il n’est pas la source de vérité : chaque service vit dans son docker-compose.yml sur le disque. Portainer sert à observer, redémarrer, explorer — pas à créer.
Pas de fichier .env : Portainer ne prend pas de variable d’environnement obligatoire.
Premier lancement — le piège des 5 minutes
Le compte admin doit être créé dans les 5 minutes qui suivent le démarrage du
conteneur, sinon le service se coupe de lui-même. Si c’est arrivé, un simple
redémarrage du conteneur rouvre la fenêtre :
bash
docker compose restart portainer
Ouvrir https://portainer.example.com immédiatement après le up -d et créer
l’utilisateur admin.
Sous-domaine portainer.example.com → conteneur sur le réseau proxy, port interne 9443. Activer le support WebSockets dans la config du proxy, sinon la console des conteneurs ne fonctionne pas.
Le socket Docker monté dans le conteneur donne un accès équivalent root à l’hôte : exposer Portainer uniquement via le reverse proxy, jamais en direct sur Internet, et avec un mot de passe admin costaud.
Ne pas activer Watchtower sur Portainer : mise à jour manuelle uniquement, après lecture du changelog
Le montage :ro du socket est une hygiène, pas une barrière — la vraie protection est l’absence d’exposition directe
Si l’instance se coupe seule juste après installation : c’est le timeout des 5 minutes, redémarrer le conteneur