Interface utilisateur Portainer
Objectifs du chapitre
- Comprendre la structure de l'interface
- Naviguer dans le dashboard
- Utiliser les différentes sections
- Personnaliser l'affichage
1 - Vue d'ensemble de l'interface
Structure générale
┌─────────────────────────────────────────────────────────────────┐
│ PORTAINER 🔔 👤 Admin ⚙️ Settings │
├──────────────┬──────────────────────────────────────────────────┤
│ │ │
│ 🏠 Home │ │
│ │ ZONE DE CONTENU │
│ 📊 Dashboard│ PRINCIPALE │
│ │ │
│ 📦 Containers │
│ │ │
│ 🖼️ Images │ │
│ │ │
│ 📁 Volumes │ │
│ │ │
│ 🌐 Networks │ │
│ │ │
│ 📚 Stacks │ │
│ │ │
│ ⚙️ Settings │ │
│ │ │
└──────────────┴──────────────────────────────────────────────────┘
Éléments de l'interface
| Élément | Description |
|---|---|
| Sidebar | Navigation principale |
| Header | Notifications, profil, settings |
| Content | Zone de travail principale |
| Environment selector | Changer d'environnement |
2 - Page d'accueil (Home)
Environnements
La page d'accueil affiche tous les environnements connectés :
┌─────────────────────────────────────────────────────────────────┐
│ 🏠 Home │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Environments [+ Add] │
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ 🐳 local │ │ 🐝 production-swarm │ │
│ │ Docker Standalone │ │ Docker Swarm │ │
│ │ ✅ Connected │ │ ✅ Connected │ │
│ │ │ │ │ │
│ │ Containers: 12 │ │ Services: 8 │ │
│ │ Images: 45 │ │ Nodes: 5 │ │
│ │ Volumes: 8 │ │ Stacks: 3 │ │
│ └──────────────────────┘ └────────── ────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Actions rapides
- Add environment : Ajouter un nouvel environnement
- Browse : Accéder aux ressources de l'environnement
- Quick actions : Actions fréquentes
3 - Dashboard
Vue d'ensemble
Le dashboard affiche un résumé de l'environnement sélectionné :
┌─────────────────────────────────────────────────────────────────┐
│ 📊 Dashboard - local │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌────────┐ │
│ │ Containers │ │ Images │ │ Volumes │ │Networks│ │
│ │ 12 │ │ 45 │ │ 8 │ │ 5 │ │
│ │ (8 running)│ │ (2.3 GB) │ │ (1.5 GB) │ │ │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Cluster Status │ │
│ │ CPU: ████████░░ 78% Memory: ██████░░░░ 62% │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Running Containers │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ nginx Up 2 days 0.1% 50 MB │ │
│ │ postgres Up 5 days 2.3% 256 MB │ │
│ │ redis Up 5 days 0.5% 32 MB │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Widgets disponibles
| Widget | Information |
|---|---|
| Containers | Nombre total et en cours |
| Images | Nombre et taille totale |
| Volumes | Nombre et utilisation |
| Networks | Nombre de réseaux |
| Stacks | Stacks déployées (si Swarm) |
| Resource usage | CPU, mémoire, disque |
4 - Section Containers
Liste des conteneurs
┌─────────────────────────────────────────────────────────────────┐
│ 📦 Containers [+ Add container] │
├─────────────────────────────────────────────────────────────────┤
│ Quick actions: ▶️ Start ⏹️ Stop 🔄 Restart 🗑️ Remove │
├─────────────────────────────────────────────────────────────────┤
│ □ Name State Image Ports Created │
│ ──────────────────────────────────────────────────────────────│
│ □ nginx 🟢 Running nginx:alpine 80:80 2 days │
│ □ postgres 🟢 Running postgres:15 5432 5 days │
│ □ redis 🟢 Running redis:7 6379 5 days │
│ □ old-app 🔴 Stopped myapp:v1 - 10 days │
│ │
└─────────────────────────────────────────────────────────────────┘
Actions sur les conteneurs
| Action | Description |
|---|---|
| Start/Stop | Démarrer/Arrêter |
| Restart | Redémarrer |
| Kill | Forcer l'arrêt |
| Remove | Supprimer |
| Duplicate | Créer une copie |
| Logs | Voir les logs |
| Console | Ouvrir un terminal |
| Inspect | Voir la configuration |
| Stats | Statistiques temps réel |
Détails d'un conteneur
┌─────────────────────────────────────────────────────────────────┐
│ 📦 nginx [Actions ▼] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Tabs: [Details] [Logs] [Console] [Stats] [Inspect] │
│ │
│ ┌─ Status ──────────────────────────────────────────────────┐ │
│ │ State: 🟢 Running │ │
│ │ Created: 2024-01-15 10:30:00 │ │
│ │ Started: 2024-01-15 10:30:05 │ │
│ │ IP Address: 172.17.0.2 │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ┌─ Configuration ───────────────────────────────────────────┐ │
│ │ Image: nginx:alpine │ │
│ │ Ports: 0.0.0.0:80 → 80/tcp │ │
│ │ Volumes: /data → /usr/share/nginx/html │ │
│ │ Networks: bridge │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
5 - Section Images
Liste des images
┌─────────────────────────────────────────────────────────────────┐
│ 🖼️ Images [+ Build/Pull] │
├─────────────────────────────────────────────────────────────────┤
│ □ Repository:Tag ID Size Created │
│ ──────────────────────────────────────────────────────────────│
│ □ nginx:alpine abc123... 23 MB 3 days │
│ □ postgres:15 def456... 412 MB 5 days │
│ □ redis:7-alpine ghi789... 32 MB 1 week │
│ □ <none>:<none> jkl012... 150 MB 2 weeks │
│ │
│ Total: 45 images | 2.3 GB │
│ │
└─────────────────────────────────────────────────────────────────┘
Actions sur les images
| Action | Description |
|---|---|
| Pull | Télécharger une image |
| Build | Construire depuis Dockerfile |
| Push | Pousser vers un registre |
| Remove | Supprimer |
| Export | Exporter en tar |
| Import | Importer depuis tar |
6 - Section Volumes
Gestion des volumes
┌─────────────────────────────────────────────────────────────────┐
│ 📁 Volumes [+ Add volume] │
├─────────────────────────────────────────────────────────────────┤
│ □ Name Driver Mount point Size │
│ ──────────────────────────────────────────────────────────────│
│ □ postgres_data local /var/lib/docker... 500 MB │
│ □ portainer_data local /var/lib/docker... 10 MB │
│ □ nginx_config local /var/lib/docker... 1 MB │
│ │
└─────────────────────────────────────────────────────────────────┘
Browse de volume
Portainer permet de naviguer dans les fichiers d'un volume :
┌─────────────────────────────────────────────────────────────────┐
│ 📁 postgres_data │
├─────────────────────────────────────────────────────────────────┤
│ / [Upload] [Download] │
│ ──────────────────────────────────────────────────────────────│
│ 📁 base/ │
│ 📁 global/ │
│ 📁 pg_wal/ │
│ 📄 postgresql.conf 4 KB │
│ 📄 pg_hba.conf 1 KB │
│ │
└─────────────────────────────────────────────────────────────────┘
7 - Section Networks
Liste des réseaux
┌─────────────────────────────────────── ──────────────────────────┐
│ 🌐 Networks [+ Add network] │
├─────────────────────────────────────────────────────────────────┤
│ □ Name Driver Scope Subnet │
│ ──────────────────────────────────────────────────────────────│
│ □ bridge bridge local 172.17.0.0/16 │
│ □ host host local - │
│ □ none null local - │
│ □ app_network bridge local 172.18.0.0/16 │
│ │
└────────────────────────────────────────────── ───────────────────┘
8 - Section Stacks
Déploiement de stacks
┌─────────────────────────────────────────────────────────────────┐
│ 📚 Stacks [+ Add stack] │
├───── ────────────────────────────────────────────────────────────┤
│ Name Type Status Controls │
│ ──────────────────────────────────────────────────────────────│
│ wordpress Compose ✅ Active [Edit] [Stop] [Delete]│
│ monitoring Compose ✅ Active [Edit] [Stop] [Delete]│
│ dev-tools Compose ⏸️ Stopped [Edit] [Start][Delete]│
│ │
└─────────────────────────────────────────────────────────────────┘
Éditeur de stack
┌─────────────────────────────────────────────────────────────────┐
│ 📚 Stack: wordpress [Deploy] [Save] │
├─────────────────────────────────────────────────────────────────┤
│ Editor: │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ version: "3.9" │ │
│ │ services: │ │
│ │ wordpress: │ │
│ │ image: wordpress:latest │ │
│ │ ports: │ │
│ │ - "8080:80" │ │
│ │ db: │ │
│ │ image: mysql:8 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
9 - Settings et Administration
Paramètres globaux
| Section | Options |
|---|---|
| Users | Gestion des utilisateurs |
| Teams | Gestion des équipes |
| Environments | Configuration des environnements |
| Registries | Registres Docker |
| Authentication | OAuth, LDAP |
| Settings | Configuration générale |
Backup/Restore
Portainer permet de sauvegarder et restaurer sa configuration via Settings.
Résumé
| Section | Fonction |
|---|---|
| Home | Vue des environnements |
| Dashboard | Résumé de l'environnement |
| Containers | Gestion des conteneurs |
| Images | Gestion des images |
| Volumes | Gestion du stockage |
| Networks | Gestion des réseaux |
| Stacks | Déploiement d'applications |
Points clés
- La sidebar permet une navigation rapide
- Chaque section offre des actions contextuelles
- L'éditeur de stack supporte Docker Compose
- Le browse de volumes permet de gérer les fichiers
Exercices pratiques
- Explorez le dashboard et identifiez les métriques affichées
- Naviguez dans la section Containers et inspectez un conteneur
- Créez un réseau personnalisé via l'interface
- Déployez une stack WordPress via l'éditeur