Skip to content

Portainer - Gestion Docker UI

Interface web de gestion et monitoring pour containers Docker.

Informations

Paramètre Valeur
Container LXC 101 - management
IP:Port 192.168.1.12:9000
Image portainer/portainer-ce:latest
Version Community Edition 2.21

Configuration Docker

services:
  portainer:
    container_name: portainer
    image: portainer/portainer-ce:latest
    ports:
      - "9000:9000"
      - "8000:8000" # Edge Agent (non utilisé)
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    restart: unless-stopped

Accès Interface

URL : http://192.168.1.12:9000

Premier Login

  1. Créer admin account
  2. Username : admin
  3. Password : [sécurisé 12+ caractères]

Environnements

Portainer gère 2 environnements :

  1. Local (LXC 101) - Management containers
  2. Portainer lui-même
  3. Homepage
  4. MkDocs

  5. Remote (LXC 100) - Media containers

  6. Configuration nécessaire via API/Socket

Gestion LXC 100 depuis Portainer

Configuration Agent (optionnel)

Sur LXC 100 :

# Ajouter à docker-compose.yml
services:
  portainer-agent:
    container_name: portainer-agent
    image: portainer/agent:latest
    ports:
      - "9001:9001"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    restart: unless-stopped

Dans Portainer UI :

  1. Settings → Environments → Add Environment
  2. Type : Docker Standalone
  3. Agent : http://192.168.1.11:9001
  4. Name : LXC-100-Media

Alternative : Docker Socket Remote

# Sur LXC 100 - exposer Docker socket (RISQUE SÉCURITÉ)
# /etc/docker/daemon.json
{
  "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}

systemctl restart docker

⚠️ Non recommandé en production - Socket non sécurisé.

Fonctionnalités

Containers Management

Containers → List

  • ✅ Start/Stop/Restart/Kill
  • ✅ Logs temps réel
  • ✅ Stats CPU/RAM/Network
  • ✅ Console interactive (exec /bin/bash)
  • ✅ Inspect configuration

Images

Images → List

  • Pull nouvelles images
  • Delete images non utilisées
  • Tag/Untag images
  • Build depuis Dockerfile

Volumes

Volumes → List

  • Créer volumes
  • Browse volume data
  • Delete volumes non utilisés

Networks

Networks → List

  • Créer networks custom
  • Inspect network details
  • Connect/Disconnect containers

Stacks (Docker Compose)

Stacks → Add Stack

  1. Upload docker-compose.yml
  2. Deploy stack
  3. Update stack (redeploy)
  4. Remove stack

Exemple stack Jellyfin :

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    ports:
      - "8096:8096"
    volumes:
      - /mnt/storage:/media
    devices:
      - /dev/dri:/dev/dri

Monitoring

Dashboard

Home → Quick Actions

  • Containers running : X
  • CPU usage : X%
  • Memory usage : X GB
  • Network I/O

Container Stats

Containers → [Container] → Stats

  • CPU usage graph
  • Memory usage graph
  • Network I/O graph
  • Block I/O

Opérations Courantes

Update Container

  1. Containers → [Container] → Stop
  2. Images → Pull nouveau tag
  3. Containers → Recreate
  4. Start container

Restart Stack Complet

# Via Portainer UI
Stacks  [Stack]  Stop
Stacks  [Stack]  Start

# Ou via CLI
docker compose restart

Logs Debugging

  1. Containers → [Container] → Logs
  2. Auto-refresh : ON
  3. Lines : 500

Users & Access Control

Créer User

Settings → Users → Add User

Username: viewer
Password: [secure_password]
Role: Read-only (ou Standard)

Roles :

  • Administrator : Full access
  • Standard : Manage containers (no settings)
  • Read-only : View only

Sécurité

Change Admin Password

User → My Account → Change Password

Disable Edge Agent

Non utilisé dans setup actuel :

# Retirer du docker-compose.yml
ports:
  - "8000:8000" # Supprimer cette ligne

Restrict Access

Portainer écoute 0.0.0.0 (tous interfaces). Pour restreindre :

ports:
  - "127.0.0.1:9000:9000" # Localhost seulement

Puis accès via reverse proxy (nginx/traefik).

Troubleshooting

Portainer Ne Démarre Pas

# Vérifier Docker socket
ls -la /var/run/docker.sock

# Permissions
sudo chmod 666 /var/run/docker.sock

# Logs
docker logs portainer

Cannot Connect to Environment

# Vérifier agent running
docker ps | grep portainer-agent

# Test connexion
curl http://192.168.1.11:9001/ping

Alternatives

  • Dockge : Plus simple, focus docker-compose
  • Yacht : Lightweight alternative
  • CLI only : docker compose + ctop

Ressources