Skip to main content

Introduction to Portainer


Chapter objectives

  • Understand what Portainer is
  • Discover the main features
  • Compare the Community and Business editions
  • Identify use cases

1 - What is Portainer?

Definition

Portainer is a lightweight web graphical interface for managing your container environments:

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

Why Portainer?

Without PortainerWith Portainer
Command line onlyIntuitive graphical interface
Complex commands to memorizeActions in a few clicks
No overviewCentralized dashboard
Complex multi-host managementUnified management
No native access controlIntegrated RBAC

2 - Main features

Container management

  • Create, start, stop, restart
  • View logs in real time
  • Access the terminal (exec)
  • Inspect the configuration
  • Resource statistics

Image management

  • List local images
  • Pull from registries
  • Build images (via Dockerfile)
  • Remove unused images

Volume and network management

  • Create and manage volumes
  • Configure networks
  • Visualize connections

Stacks and templates

  • Deploy Docker Compose applications
  • Use predefined templates
  • Manage Swarm services

Administration

  • User management
  • Access control (RBAC)
  • Multi-environment management
  • Webhooks and API

3 - Portainer editions

Portainer CE (Community Edition)

Free and open-source

FeatureAvailable
Docker management
Swarm management
Kubernetes management✅ (limited)
Multi-environments✅ (3 max)
Users
Basic RBAC
Templates
SupportCommunity

Portainer BE (Business Edition)

Paid with advanced features

FeatureAvailable
Everything in CE +
Unlimited environments
Advanced RBAC
Registry management
OAuth/LDAP
Audit logs
Official support

Comparison

┌────────────────────────────────────────────────────────────┐
│ 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

Components

┌─────────────────────────────────────────────────────────────┐
│ 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) │
└─────────┘ └─────────┘ └─────────┘

Connection modes

ModeDescriptionUse
LocalMounted Docker socketDevelopment, single-node
AgentPortainer agent on each nodeMulti-host, Swarm
Edge AgentOutbound connectionRemote/NAT environments

5 - Use cases

Development

  • Local dev environment
  • Quick container tests
  • Easier debugging

Teams

  • Interface accessible to non-CLI experts
  • Access management per project
  • Simplified onboarding

Production

  • Centralized monitoring
  • Multi-cluster management
  • Audit and compliance

Training

  • Learning Docker
  • Visualizing concepts
  • Safe experimentation

6 - Alternatives to Portainer

Comparison

ToolDockerSwarmK8sGUIFree
PortainerCE free
Rancher
Lens
Docker DesktopLimited
Cockpit

Why choose Portainer?

  • Versatile: Docker, Swarm and Kubernetes
  • Lightweight: ~100 MB, quick deployment
  • Complete: Full management without plugins
  • Accessible: Intuitive interface

7 - Getting started

Quick deployment

# 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

First access

  1. Open https://localhost:9443
  2. Create the administrator account
  3. Choose the environment (local)
  4. Explore the dashboard

Summary

AspectDescription
TypeWeb management interface
TargetsDocker, Swarm, Kubernetes
EditionsCE (free), BE (paid)
DeploymentDocker container
Port9443 (HTTPS)
Key points
  • Portainer simplifies container management
  • Graphical interface accessible to all skill levels
  • Free Community edition for most needs
  • Deployment in less than a minute

Practical exercises

  1. List 3 advantages of Portainer compared to the CLI
  2. Which edition to choose for a team of 5 people?
  3. What are the available connection modes?
  4. Deploy Portainer locally and explore the interface

← Table of contents | Installation →