Skip to main content

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

ElementDescription
SidebarMain navigation
HeaderNotifications, profile, settings
ContentMain work area
Environment selectorSwitch 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

WidgetInformation
ContainersTotal and running count
ImagesCount and total size
VolumesCount and usage
NetworksNumber of networks
StacksDeployed stacks (if Swarm)
Resource usageCPU, 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

ActionDescription
Start/StopStart/Stop
RestartRestart
KillForce stop
RemoveRemove
DuplicateCreate a copy
LogsView the logs
ConsoleOpen a terminal
InspectView the configuration
StatsReal-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

ActionDescription
PullPull an image
BuildBuild from a Dockerfile
PushPush to a registry
RemoveRemove
ExportExport as tar
ImportImport 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

┌─────────────────────────────────────────────────────────────────┐
│ 📚 Stack: wordpress [Deploy] [Save] │
├─────────────────────────────────────────────────────────────────┤
│ Editor: │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ version: "3.9" │ │
│ │ services: │ │
│ │ wordpress: │ │
│ │ image: wordpress:latest │ │
│ │ ports: │ │
│ │ - "8080:80" │ │
│ │ db: │ │
│ │ image: mysql:8 │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

9 - Settings and Administration

Global settings

SectionOptions
UsersUser management
TeamsTeam management
EnvironmentsEnvironment configuration
RegistriesDocker registries
AuthenticationOAuth, LDAP
SettingsGeneral configuration

Backup/Restore

Portainer lets you back up and restore its configuration via Settings.


Summary

SectionFunction
HomeView of the environments
DashboardSummary of the environment
ContainersContainer management
ImagesImage management
VolumesStorage management
NetworksNetwork management
StacksApplication deployment
Key points
  • The sidebar allows quick navigation
  • Each section offers contextual actions
  • The stack editor supports Docker Compose
  • Volume browsing lets you manage files

Practical exercises

  1. Explore the dashboard and identify the metrics displayed
  2. Navigate the Containers section and inspect a container
  3. Create a custom network through the interface
  4. Deploy a WordPress stack through the editor

← Installation | Container management →