Portainer est une application permettant de gérer tous les conteneurs d’une plateforme Docker, Docker Swarm ou Kubernetes.

portainer github banner

En plus d’être visuellement agréable et moderne, vous pourrez avoir accès à une multitude d’options pour gérer vos conteneurs.


Découverte de Portainer

Un petit conteneur pour superviser tous les autres.

Telle est la philosophie introduite par les équipes de développement, en gardant à l’esprit la simplicité. Via cette application, vous pourrez entre-autre :

  • Superviser les conteneurs (ressources utilisées, voir les logs des conteneurs, inspecter la configuration des conteneurs…)
  • Gérer vos conteneurs (administration générale [création, suppression, régénération, éditer et redéployer], et de l’exploitation [démarrer, éteindre, redémarrer, tuer, mettre en pause])
  • Gérer les images Docker, les réseaux, les volumes, les utilisateurs…
  • Mettre en place des stack de conteneurs, en faisant un copié/collé de fichiers yaml.

L’utilisateur par défaut se nomme « admin« . vous initierez son mot de passe lors de la première connexion / affichage de la console web de Portainer. La gestion des utilisateurs est tout à fait possible, en créant des groupes avec des permissions / restrictions particulières.

L’authentification par des annuaires type LDAP est aussi de la partie, sans oublier les connexions via oAuth pour les cloud providers.


Stack docker-compose

Le fichier docker-compose que je vous propose est très simple. Il n’y a pas non plus beaucoup de possibilités pour que le service fonctionne.

Dans l’idée, Portainer doit avoir un entrypoint correspondant au socket de Docker (de préférence en lecture seule, pas besoin d’écriture) et on expose le port 9000 utilisé par le service. Pour accéder à votre conteneur Portainer, ajoutez le bon réseau sous la ligne networks: et le tour est joué.

Une commande supplémentaire est passée pour que l’application puisse avoir accès à votre daemon Docker.

---
version: '3.7'
services:
  portainer:
    image: portainer/portainer-ce:2.9.2
    restart: unless-stopped
    command: -H unix:///var/run/docker.sock
    ports:
      - 9000:9000
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - dataportainer:/data
    environment:
      TZ: "Europe/Paris"

volumes:
  dataportainer:

Enregistrez les modifications du conteneur puis lancez un docker-compose up -d. Ouvrez votre navigateur et pointez vers l’IP ou le nom DNS avec le port 9000 pour accéder à l’interface d’administration.


Mon utilisation

A ce jour, j’utilise cette application pour manager mes conteneurs de façon simple : je vois les logs des conteneurs  (en cliquant sur « Containers » puis sur l’icône en forme de document à côté du CT ciblé), j’en redémarre certains en fonction des modifications effectuées dans les fichiers de configuration ou tout simplement voir ce qu’il se passe en général sur la machine…

Ce que j’apprécie aussi, c’est sa simplicité. Il n’y a pas trop de menus, uniquement des accès rapides, l’interface est claire et ergonomique. Même sur des écrans ayant des résolutions ultra larges, l’exploitation de l’interface web est aisée. Je n’exploite pas la possibilité de créer des conteneurs / stacks depuis l’application, préférant un contrôle total via des fichiers docker-compose.yml.

Portainer me permet aussi de faire un ménage sur les images stockées et les volumes temporaires – en quelques clics, la vidange de votre Docker peut être faite et en plus de façon visible !

Vous pouvez utiliser Traefik devant Portainer, retrouvez l’exemple à cette adresse GitHub.

Auteur

Bercé par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

Écrire un commentaire