Aller au contenu principal

Introduction à Portainer


Objectifs du chapitre

  • Comprendre ce qu'est Portainer
  • Découvrir les fonctionnalités principales
  • Comparer les éditions Community et Business
  • Identifier les cas d'usage

1 - Qu'est-ce que Portainer ?

Définition

Portainer est une interface graphique web légère pour gérer vos environnements de conteneurs :

  • Docker standalone
  • Docker Swarm
  • Kubernetes
  • Azure ACI
  • Nomad
┌─────────────────────────────────────────────────────────────┐
│ Portainer Server │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Interface Web │ │
│ │ (Dashboard, Gestion, Monitoring) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────────┼──────────────────┐ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Docker │ │ Swarm │ │Kubernetes │ │
│ │Standalone │ │ Cluster │ │ Cluster │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Pourquoi Portainer ?

Sans PortainerAvec Portainer
Ligne de commande uniquementInterface graphique intuitive
Commandes complexes à mémoriserActions en quelques clics
Pas de vue d'ensembleDashboard centralisé
Gestion multi-hôtes complexeGestion unifiée
Pas de contrôle d'accès natifRBAC intégré

2 - Fonctionnalités principales

Gestion des conteneurs

  • Créer, démarrer, arrêter, redémarrer
  • Voir les logs en temps réel
  • Accéder au terminal (exec)
  • Inspecter la configuration
  • Statistiques de ressources

Gestion des images

  • Lister les images locales
  • Télécharger depuis des registres
  • Construire des images (via Dockerfile)
  • Supprimer les images inutilisées

Gestion des volumes et réseaux

  • Créer et gérer des volumes
  • Configurer les réseaux
  • Visualiser les connexions

Stacks et templates

  • Déployer des applications Docker Compose
  • Utiliser des templates prédéfinis
  • Gérer les services Swarm

Administration

  • Gestion des utilisateurs
  • Contrôle d'accès (RBAC)
  • Gestion multi-environnements
  • Webhooks et API

3 - Éditions de Portainer

Portainer CE (Community Edition)

Gratuit et open-source

FonctionnalitéDisponible
Gestion Docker
Gestion Swarm
Gestion Kubernetes✅ (limité)
Multi-environnements✅ (3 max)
Utilisateurs
RBAC basique
Templates
SupportCommunauté

Portainer BE (Business Edition)

Payant avec fonctionnalités avancées

FonctionnalitéDisponible
Tout CE +
Environnements illimités
RBAC avancé
Registry management
OAuth/LDAP
Audit logs
Support officiel

Comparaison

┌────────────────────────────────────────────────────────────┐
│ Portainer Editions │
├──────────────────────┬─────────────────────────────────────┤
│ Community (CE) │ Business (BE) │
├──────────────────────┼─────────────────────────────────────┤
│ Gratuit │ Payant (par nœud) │
│ Open Source │ Propriétaire │
│ 3 environnements │ Illimité │
│ RBAC basique │ RBAC avancé + OAuth │
│ Support communauté │ Support entreprise │
└──────────────────────┴─────────────────────────────────────┘

4 - Architecture

Composants

┌─────────────────────────────────────────────────────────────┐
│ Navigateur │
│ (Chrome, Firefox...) │
└──────────────────────────┬──────────────────────────────────┘
│ HTTPS (9443)

┌─────────────────────────────────────────────────────────────┐
│ Portainer Server │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Web UI │ │
│ │ (React Frontend) │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ API Backend │ │
│ │ (Go Backend) │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Database (BoltDB) │ │
│ │ /data/portainer.db │ │
│ └─────────────────────────────────────────────────────┘ │
└──────────────────────────┬──────────────────────────────────┘

┌────────────────┼────────────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Docker │ │ Agent │ │ Agent │
│ Local │ │ (Remote)│ │ (Swarm) │
└─────────┘ └─────────┘ └─────────┘

Modes de connexion

ModeDescriptionUsage
LocalSocket Docker montéDéveloppement, single-node
AgentAgent Portainer sur chaque nœudMulti-hôtes, Swarm
Edge AgentConnexion sortanteEnvironnements distants/NAT

5 - Cas d'usage

Développement

  • Environnement de dev local
  • Tests rapides de conteneurs
  • Débogage facilité

Équipes

  • Interface accessible aux non-experts CLI
  • Gestion des accès par projet
  • Onboarding simplifié

Production

  • Monitoring centralisé
  • Gestion multi-clusters
  • Audit et compliance

Formation

  • Apprentissage de Docker
  • Visualisation des concepts
  • Expérimentation sécurisée

6 - Alternatives à Portainer

Comparaison

OutilDockerSwarmK8sGUIGratuit
PortainerCE gratuit
Rancher
Lens
Docker DesktopLimité
Cockpit

Pourquoi choisir Portainer ?

  • Polyvalent : Docker, Swarm et Kubernetes
  • Léger : ~100 Mo, déploiement rapide
  • Complet : Gestion complète sans plugins
  • Accessible : Interface intuitive

7 - Premiers pas

Déploiement rapide

# Créer le volume de données
docker volume create portainer_data

# Lancer Portainer CE
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:latest

# Accéder à l'interface
# https://localhost:9443

Premier accès

  1. Ouvrir https://localhost:9443
  2. Créer le compte administrateur
  3. Choisir l'environnement (local)
  4. Explorer le dashboard

Résumé

AspectDescription
TypeInterface web de gestion
CiblesDocker, Swarm, Kubernetes
ÉditionsCE (gratuit), BE (payant)
DéploiementConteneur Docker
Port9443 (HTTPS)
Points clés
  • Portainer simplifie la gestion des conteneurs
  • Interface graphique accessible à tous les niveaux
  • Édition Community gratuite pour la plupart des besoins
  • Déploiement en moins d'une minute

Exercices pratiques

  1. Listez 3 avantages de Portainer par rapport à la CLI
  2. Quelle édition choisir pour une équipe de 5 personnes ?
  3. Quels sont les modes de connexion disponibles ?
  4. Déployez Portainer localement et explorez l'interface

← Table des matières | Installation →