Portainer user interface
Chapter objectives
- Understand the structure of the interface
- Navigate the dashboard
- Use the different sections
- Customize the display
1 - Interface overview
General structure
┌─────────────────────────────────────────────────────────────────┐
│ PORTAINER 🔔 👤 Admin ⚙️ Settings │
├──────────────┬──────────────────────────────────────────────────┤
│ │ │
│ 🏠 Home │ │
│ │ ZONE DE CONTENU │
│ 📊 Dashboard│ PRINCIPALE │
│ │ │
│ 📦 Containers │
│ │ │
│ 🖼️ Images │ │
│ │ │
│ 📁 Volumes │ │
│ │ │
│ 🌐 Networks │ │
│ │ │
│ 📚 Stacks │ │
│ │ │
│ ⚙️ Settings │ │
│ │ │
└──────────────┴──────────────────────────────────────────────────┘
Interface elements
| Element | Description |
|---|---|
| Sidebar | Main navigation |
| Header | Notifications, profile, settings |
| Content | Main work area |
| Environment selector | Switch environment |
2 - Home page
Environments
The home page displays all connected environments:
┌─────────────────────────────────────────────────────────────────┐
│ 🏠 Home │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Environments [+ Add] │
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ 🐳 local │ │ 🐝 production-swarm │ │
│ │ Docker Standalone │ │ Docker Swarm │ │
│ │ ✅ Connected │ │ ✅ Connected │ │
│ │ │ │ │ │
│ │ Containers: 12 │ │ Services: 8 │ │
│ │ Images: 45 │ │ Nodes: 5 │ │
│ │ Volumes: 8 │ │ Stacks: 3 │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Quick actions
- Add environment: Add a new environment
- Browse: Access the resources of the environment
- Quick actions: Frequent actions
3 - Dashboard
Overview
The dashboard displays a summary of the selected environment:
┌────── ───────────────────────────────────────────────────────────┐
│ 📊 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 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Available widgets
| Widget | Information |
|---|---|
| Containers | Total and running count |
| Images | Count and total size |
| Volumes | Count and usage |
| Networks | Number of networks |
| Stacks | Deployed stacks (if Swarm) |
| Resource usage | CPU, memory, disk |
4 - Containers section
List of containers
┌─────────────────────────────────────────────────────────────────┐
│ 📦 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 on containers
| Action | Description |
|---|---|
| Start/Stop | Start/Stop |
| Restart | Restart |
| Kill | Force stop |
| Remove | Remove |
| Duplicate | Create a copy |
| Logs | View the logs |
| Console | Open a terminal |
| Inspect | View the configuration |
| Stats | Real-time statistics |
Details of a container
┌─────────────── ──────────────────────────────────────────────────┐
│ 📦 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 - Images section
List of 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 on images
| Action | Description |
|---|---|
| Pull | Pull an image |
| Build | Build from a Dockerfile |
| Push | Push to a registry |
| Remove | Remove |
| Export | Export as tar |
| Import | Import from tar |
6 - Volumes section
Volume management
┌─────────────────────────────────────────────────────────────────┐
│ 📁 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 │
│ │
└───────────────── ────────────────────────────────────────────────┘
Volume browsing
Portainer lets you browse the files in a volume:
┌─────────────────────────────────────────────────────────────────┐
│ 📁 postgres_data │
├─────────────────────────────────────────────────── ──────────────┤
│ / [Upload] [Download] │
│ ──────────────────────────────────────────────────────────────│
│ 📁 base/ │
│ 📁 global/ │
│ 📁 pg_wal/ │
│ 📄 postgresql.conf 4 KB │
│ 📄 pg_hba.conf 1 KB │
│ │
└─────────────────────────────────────────────────────────────────┘
7 - Networks section
List of networks
┌─────────────────────────────────────────────────────────────────┐
│ 🌐 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 - Stacks section
Deploying 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]│
│ │
└─────────────────────────────────────────────────────────────────┘
Stack editor