Installation et configuration de Portainer CE | INTROSERV
EUR
european

EUR

usa

USD

French Fr
Ex. VAT Ex. VAT 0%

Installation et configuration de Portainer CE

Niveau : Débutant
Temps pour compléter : ~30 minutes

Objectif : À la fin de ce guide, vous aurez un panneau Portainer CE entièrement configuré, sécurisé avec HTTPS et prêt à gérer l'infrastructure Docker de votre serveur.

Introduction

La conteneurisation basée sur Docker est devenue la norme pour l'infrastructure serveur, garantissant un déploiement prévisible et une mise à l'échelle efficace des services. Cependant, lorsque vous exécutez des dizaines de conteneurs, les gérer uniquement via la ligne de commande devient peu pratique. Portainer CE résout ce problème en fournissant une interface web conviviale pour l'administration Docker : il offre un accès à tous les conteneurs, leurs statuts, journaux et ressources, et la gestion se fait en quelques clics sans perdre le contrôle du système.

Préparation du serveur

Avant l'installation, il est nécessaire de s'assurer que le serveur est prêt pour le déploiement de Portainer. Portainer lui-même s'exécute en tant que conteneur, donc seul Docker doit être installé.

Exigences du système

  • Système d'exploitation : Toute distribution Linux (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+) utilisée en hébergement.
  • Privilèges : accès root ou la capacité d'exécuter des commandes via sudo.
  • Exigences matérielles : Minimum 1 Go de RAM et 10 Go d'espace disque libre.
  • Exigences réseau : Ports ouverts 8000 et 9443 pour l'accès à Portainer, port 443 pour la configuration du proxy inverse.

Vérification de la disponibilité de Docker

Connectez-vous au serveur via SSH. Tout d'abord, vérifiez si Docker est installé et si le démon est en cours d'exécution :

docker --version sudo systemctl status docker

Si la version de Docker est affichée et que le statut est actif (en cours d'exécution), l'étape d'installation de Docker peut être ignorée.

Installation de Docker (si nécessaire)

Sur les nouveaux serveurs, Docker n'est généralement pas présent. Pour l'installer, exécutez le script standard (pour Debian/Ubuntu) :

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable docker sudo systemctl start docker

Pour installer le plugin Docker Compose (s'il n'a pas été installé à l'étape précédente), exécutez :

sudo apt-get install docker-compose-plugin # Pour Debian/Ubuntu # ou sudo dnf install docker-compose-plugin # Pour CentOS/Rocky Linux

Vérifiez la version de docker compose installée :

docker compose version

Déploiement de Portainer CE dans Docker

Il existe deux principales façons d'exécuter Portainer : via la commande docker run (démarrage rapide) et via docker-compose.yml (pratique pour la gestion des versions de configuration).

Méthode 1 : Exécution via docker run

Exécutez la commande suivante sur le serveur :

sudo 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

Info

La commande est exécutée via sudo car l'utilisateur actuel n'a pas encore été ajouté au groupe docker. Si vous prévoyez d'utiliser docker sans sudo plus tard, ajoutez l'utilisateur au groupe docker : sudo usermod -aG docker $USER. Après avoir exécuté la commande, vous devez vous déconnecter et vous reconnecter, ou redémarrer votre session.

Explication des paramètres :

  • -d – Exécute le conteneur en arrière-plan.
  • -p 8000:8000 – Redirection de port pour les agents Edge et les tunnels.
  • -p 9443:9443 – Redirection de port pour l'interface web sécurisée (HTTPS). Portainer génère automatiquement un certificat SSL auto-signé.
  • --name portainer – Attribue un nom significatif au conteneur.
  • --restart=always – Politique de redémarrage automatique du conteneur en cas de défaillance ou de redémarrage du serveur.
  • -v /var/run/docker.sock:/var/run/docker.sock – Monte le socket Docker à l'intérieur du conteneur Portainer. Cela permet à Portainer d'interagir avec et de gérer le démon Docker sur l'hôte.
  • -v portainer_data:/data – Crée un volume nommé pour stocker les données de Portainer (utilisateurs, paramètres, configurations de connexion).
  • portainer/portainer-ce:latest – L'image avec la dernière version stable de l'édition communautaire.

Méthode 2 : Exécution via docker-compose

Pour utiliser cette méthode, créez un répertoire et un fichier docker-compose.yml :

mkdir ~/portainer-docker cd ~/portainer-docker nano docker-compose.yml

Insérez le contenu suivant :

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:

Enregistrez le fichier et exécutez la commande :

docker compose up -d

Lancement initial et configuration de l'interface web

Après le démarrage du conteneur Portainer, il devient accessible sur le réseau.

Étape 1. Connexion à l'interface web

Ouvrez un navigateur et allez à : https://<adresse-IP-du-serveur>:9443.

Info

En raison de l'utilisation d'un certificat auto-signé, le navigateur affichera un avertissement. C'est normal pour la première exécution. Vous devez accéder au site (par exemple, cliquez sur "Accepter le risque" ou "Continuer vers le site").

Étape 2. Création d'un utilisateur

Sur la page d'enregistrement, vous devrez spécifier un nom d'utilisateur (admin est recommandé) et définir un mot de passe fort.

Tip

Le mot de passe doit être complexe, car il donne un accès complet à la gestion des conteneurs.

Étape 3. Connexion de l'environnement

Après avoir créé l'utilisateur, Portainer vous invitera à connecter des environnements. À ce stade, vous pouvez soit connecter le Docker local (déjà disponible grâce au socket monté) soit procéder à l'ajout d'environnements distants via le bouton "Ajouter des environnements". Les environnements distants sont utiles lorsque vous devez gérer plusieurs serveurs à partir d'une seule interface Portainer : par exemple, ajouter des hôtes Docker dans différents centres de données ou des serveurs avec Kubernetes. La connexion se fait via des agents Portainer ou via l'API en utilisant des certificats TLS.

  • Sélectionnez l'option "Commencer". C'est le scénario de base pour un seul serveur.
  • Portainer détectera automatiquement le socket Docker local. Il sera affiché comme "local".
  • Cliquez dessus pour terminer la configuration.

La configuration est terminée. Le tableau de bord de Portainer (écran principal) s'ouvrira avec des statistiques brèves sur les conteneurs, les images, les volumes et les réseaux.

Principales fonctionnalités de Portainer

Examinons les principales sections de l'interface utilisées pour les tâches d'administration quotidienne.

Tableau de bord

L'écran de démarrage qui affiche l'image globale : le nombre de conteneurs en cours d'exécution et arrêtés, le nombre d'images téléchargées. Permet d'évaluer rapidement l'état du serveur.

Conteneurs

  • La section centrale de gestion. Affiche une liste de tous les conteneurs.
  • Gestion des conteneurs : Démarrer, arrêter, redémarrer, supprimer un conteneur en un seul clic.
  • Journaux : L'onglet "Journaux" permet d'accéder à la visualisation des journaux des conteneurs en temps réel.
  • Inspecter : Affiche des informations complètes sur le conteneur au format JSON : variables d'environnement, points de montage, paramètres réseau.
  • Statistiques : Graphiques de consommation de CPU, mémoire et réseau pour chaque conteneur. Aide à déterminer la consommation de ressources par services individuels.
  • Console Exec : Possibilité d'ouvrir un terminal web à l'intérieur d'un conteneur pour exécuter des commandes.

Piles

Implémentation de Docker Compose dans l'interface web. Permet de télécharger ou de créer des fichiers YAML directement via le navigateur pour déployer des applications multi-conteneurs.

Images

  • Gestion des images Docker.
  • Pull : Possibilité de télécharger des images (par exemple, nginx:latest ou mysql:8.0) directement depuis l'interface.
  • Supprimer : Nettoyage des images inutilisées pour libérer de l'espace disque.

Volumes

Gestion des volumes de données persistants. Affiche les volumes existants, leur attachement aux conteneurs et l'espace qu'ils occupent. Critiquement important pour les bases de données et les données utilisateur.

Réseaux

Permet de créer des réseaux isolés pour l'interaction des conteneurs.

Annuler les modifications (Suppression de Portainer)

Si vous devez supprimer complètement Portainer et ses données du serveur, suivez ces étapes :

1. Arrêter et supprimer le conteneur Portainer :

sudo docker stop portainer sudo docker rm portainer

2. Supprimer le volume de données Portainer (attention : cette action est irréversible) :

sudo docker volume rm portainer_data

Tip

La suppression du volume portainer_data entraînera une perte irréversible de tous les utilisateurs, paramètres et configurations de Portainer.

3. Supprimer l'image Portainer (facultatif) :

sudo docker rmi portainer/portainer-ce:latest

Sécurité et recommandations

Pour la production, une configuration de sécurité supplémentaire de Portainer est requise.

Utilisation d'un proxy inverse (Nginx/Apache)

Il est recommandé de configurer un sous-domaine (par exemple, portainer.domaine.com) et de proxy le trafic via Nginx. Cela fournira :

  • L'utilisation d'un certificat SSL valide (gratuit de Let's Encrypt ou un SSL payant, par exemple, de Sectigo).
  • Journalisation centralisée des accès.
  • Possibilité de configurer une authentification supplémentaire.

1. Installation et configuration de Nginx

Installez Nginx :

sudo apt install -y nginx # Pour Debian/Ubuntu # ou sudo dnf install -y nginx # Pour CentOS/Rocky Linux

Créez un fichier de configuration pour Portainer :

sudo nano /etc/nginx/sites-available/portainer.conf

Ajoutez la configuration suivante, en remplaçant <YOUR_DOMAIN> par votre domaine qui pointe vers l'IP du serveur :

server { listen 80; server_name ; location / { proxy_pass https://localhost:9443; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; # Délais pour les opérations longues proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; } }

Activez la configuration :

sudo ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/

Vérifiez la configuration de Nginx :

sudo nginx -t

Si la vérification est réussie, redémarrez Nginx :

sudo systemctl restart nginx

2. Configuration de HTTPS (recommandé)

Installez Certbot :

sudo apt install -y certbot python3-certbot-nginx

Obtenez un certificat SSL :

sudo certbot --nginx -d

Remplacez <YOUR_DOMAIN> par votre domaine.

Lors de l'installation, entrez votre email, par exemple, admin@<YOUR_DOMAIN>, puis appuyez deux fois sur Y.

Vérifiez le renouvellement automatique du certificat :

sudo systemctl list-timers | grep certbot

Configuration du pare-feu

L'accès direct aux ports de Portainer doit être restreint. Autorisez l'accès aux ports 8000 et 9443 uniquement à partir d'adresses IP de confiance.

Tip

Faites attention aux règles de pare-feu. Une configuration incorrecte peut bloquer votre accès au serveur.

Exemple pour UFW :

sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw deny 9443

192.168.1.0/24 est le sous-réseau des adresses IP de confiance.

Mises à jour régulières

Il est recommandé de suivre la sortie des nouvelles versions de Portainer et de mettre à jour le conteneur en temps opportun pour éliminer les vulnérabilités potentielles.

Vérification du fonctionnement

Pour vérifier que Portainer fonctionne correctement, effectuez les actions suivantes.

1. Vérification visuelle : Dans la section "Conteneurs", assurez-vous que le conteneur portainer a un statut en cours d'exécution.

2. Création d'un conteneur de test :

  • Allez dans la section "Conteneurs", cliquez sur le bouton "Ajouter un conteneur".
  • Dans le champ "Nom", spécifiez test-nginx.
  • Dans le champ "Image", spécifiez nginx:alpine.
  • Dans la section "Mappage de port", spécifiez le port hôte 8080, le port du conteneur 80.
  • Cliquez sur "Déployer le conteneur".

3. Vérification de l'accessibilité :

  • Attendez que le conteneur apparaisse dans la liste avec un statut en cours d'exécution.
  • Ouvrez un navigateur et allez à http://<VOTRE_ADRESSE_IP>:8080. La page d'accueil de Nginx devrait s'afficher.

4. Vérification de la gestion :

  • Dans Portainer, trouvez le conteneur test-nginx et cliquez sur le bouton "Arrêter".
  • Actualisez la page Nginx dans le navigateur – l'accès devrait être indisponible.
  • Cliquez sur "Démarrer" – l'accès à la page devrait être rétabli.

Dépannage

Problème 1 : Impossible d'ouvrir l'interface web de Portainer à https://<VOTRE_ADRESSE_IP>:9443

Cause possible : Le pare-feu bloque le port 9443.

Solution : Vérifiez les règles du pare-feu et assurez-vous que le port est ouvert. Pour UFW : sudo ufw status | grep 9443.

Problème 2 : Erreur "Impossible de se connecter au démon Docker" lors de l'exécution de commandes Docker.

Cause possible : Le démon Docker n'est pas en cours d'exécution, ou l'utilisateur n'a pas les permissions.

Solution : Démarrez le démon : sudo systemctl start docker. Si vous avez ajouté l'utilisateur au groupe docker, déconnectez-vous et reconnectez-vous.

Problème 3 : Le conteneur Portainer ne démarre pas et s'arrête immédiatement (statut exited).

Cause possible : Conflit de port ou image corrompue.

Solution : Vérifiez si le port 9443 est occupé par une autre application : sudo ss -tulpn | grep 9443. Essayez de réassigner le port et redémarrez le conteneur : sudo docker restart portainer.

Conclusion

Portainer CE fournit un outil efficace pour la surveillance visuelle et la gestion des conteneurs Docker. La capacité d'évaluer rapidement l'état des conteneurs, d'analyser les graphiques de consommation de ressources et d'effectuer des opérations typiques sans se connecter via SSH réduit le temps de réponse aux incidents et simplifie l'administration quotidienne.

Cet outil peut être utile lorsqu'il est nécessaire de fournir un accès limité à la gestion des conteneurs aux développeurs ou au personnel moins expérimenté sans accorder un accès direct à la ligne de commande du serveur. Portainer CE est une solution standard pour la visualisation de l'infrastructure de conteneurs et est recommandé pour une utilisation sur les serveurs.

Version du document : 1.1
Dernière mise à jour : Mars 2026
Propriétaire : Équipe de documentation technique

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA