Prérequis
- Docker installé (voir le tutoriel Installer Docker pour Ubuntu/Debian ou AlmaLinux/Rocky Linux)
- Accès root ou utilisateur dans le groupe docker
Portainer est une interface web qui simplifie la gestion de Docker. Visualisez vos conteneurs, images, volumes et réseaux sans utiliser la ligne de commande.
1. Installer Portainer CE (Community Edition)
# Créer un volume pour les données Portainer
docker volume create portainer_data
# Lancer Portainer
docker run -d \
--name portainer \
--restart=always \
-p 8000:8000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
# Vérifier
docker ps | grep portainer2. Accéder à Portainer
- Ouvrez https://VOTRE_IP:9443 dans votre navigateur
- Acceptez l'avertissement de certificat SSL
- Créez votre compte administrateur (mot de passe min 12 caractères)
- Choisissez 'Get Started' pour gérer l'environnement local
Première connexion
Vous devez créer le compte admin dans les 5 minutes après l'installation, sinon Portainer se verrouille pour des raisons de sécurité.
3. Ouvrir le port dans le pare-feu
# Port web HTTPS
ufw allow 9443/tcp
# Port pour les agents (si cluster)
ufw allow 8000/tcp# Port web HTTPS
firewall-cmd --permanent --add-port=9443/tcp
# Port pour les agents (si cluster)
firewall-cmd --permanent --add-port=8000/tcp
# Appliquer les changements
firewall-cmd --reload4. Tour de l'interface
- Dashboard : Vue d'ensemble de votre environnement Docker
- Containers : Gérer, démarrer, arrêter, supprimer les conteneurs
- Images : Voir et supprimer les images Docker
- Volumes : Gérer les volumes de données persistantes
- Networks : Gérer les réseaux Docker
- Stacks : Déployer des applications avec Docker Compose
- Templates : Applications pré-configurées à déployer en 1 clic
5. Déployer une stack (Docker Compose)
- Allez dans Stacks → Add Stack
- Donnez un nom à votre stack
- Collez votre fichier docker-compose.yml
- Cliquez sur Deploy the stack
version: '3.8'
services:
wordpress:
image: wordpress:latest
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress_password
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html
db:
image: mariadb:latest
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress_password
MYSQL_ROOT_PASSWORD: root_password
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:6. Utiliser les App Templates
Portainer inclut des templates pour déployer rapidement des applications populaires :
- Allez dans App Templates
- Cherchez l'application souhaitée (Nginx, MySQL, Redis...)
- Cliquez dessus et configurez les options
- Cliquez sur Deploy the container
7. Gérer les conteneurs
Dans la section Containers, vous pouvez :
- Démarrer/Arrêter/Redémarrer un conteneur
- Voir les logs en temps réel
- Accéder à la console du conteneur
- Inspecter la configuration
- Voir les statistiques (CPU, RAM, réseau)
- Dupliquer un conteneur
8. Mettre à jour Portainer
# Arrêter et supprimer l'ancien conteneur
docker stop portainer
docker rm portainer
# Télécharger la nouvelle image
docker pull portainer/portainer-ce:latest
# Relancer avec le même volume (données conservées)
docker run -d \
--name portainer \
--restart=always \
-p 8000:8000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest9. Portainer avec Docker Compose
version: '3.8'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "8000:8000"
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:10. Sécuriser Portainer
- Utilisez un mot de passe fort (min 12 caractères)
- Placez Portainer derrière un reverse proxy avec SSL
- Limitez l'accès par IP dans le pare-feu
- Activez l'authentification à deux facteurs dans Settings
# Autoriser seulement votre IP
ufw delete allow 9443/tcp
ufw allow from VOTRE_IP to any port 9443# Autoriser seulement votre IP
firewall-cmd --permanent --remove-port=9443/tcp
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="VOTRE_IP" port protocol="tcp" port="9443" accept'
firewall-cmd --reloadPortainer installé !
Vous pouvez maintenant gérer Docker visuellement. Plus besoin de mémoriser toutes les commandes !