Portainer.io : présentation et premiers pas

Portainer.io : présentation et premiers pas

14 mai 2020 0 Par Mairien Anthony

Aujourd’hui rapide découverte de Portainer.io, un conteneur docker permettant de gérer votre « parc Docker » via une interface web.

Portainer est donc un outil nous permettant de gérer entièrement notre infrastructure Docker/Kubernetes au moyen d’une interface web pratique et agréable. Ici je ne traiterai que de la partie Docker pour commencer.

Sans plus tarder, commençons !

I) Portainer, ses fonctionnalités

Comme dit en début, Portainer nous permet de gérer un peu près tout ce qui touche à Docker et ce via une interface web, à savoir :

  • Les volumes ;
  • Les réseaux ;
  • Les templates ;
  • Les services ;

A noter que Portainer est un conteneur lui-même, donc rien de plus simple ! On installe Docker sur notre machine (ou serveur), on démarre notre conteneur Portainer et on se rend sur l’interface web pour manager le tout.

II) Installation de Portainer

L’installation tient en quelques lignes :

docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

On créer donc un volume nommé portainer_data, puis on démarre un conteneur en exposant le port 8000 et 9000 nommé portainer, en redémarrage automatique et en mappant ensuite le volume portainer.data. Le portainer/portainer correspond à l’image qui va être exécutée.

Ensuite, il ne nous reste qu’à nous rendre sur notre IP locale sur le port 9000 et nous pouvons entamer la configuration !

On créé donc en premier lieu un mot de passe administrateur, puis nous devons choisir le type de connexion :

Ici on doit donc choisir notre environnement :

  • Soit manager un environnement Docker local (ce sera notre cas) ;
  • Soit manager un environneemnt Docker en remote, à distance ;
  • Soit installer un Portainer agent et se lier à un autre environnement Portainer ;
  • Soit se connecter au service Azure ACI (en bêta actuellement) ;

On clique donc sur Local puis Connect et on arrive sur notre interface web :

A partir de là, on peut donc absolument tout gérer de manière graphique ! Que ce soit nos volumes, réseaux, et autre, comme dit en début d’article.

Ici nous allons essayer de démarrer un conteneur classique pour vérifier que tout est bien fonctionnel, mais je pense que vous aurez déjà saisi les possibilités de ce logiciel.

III) Création d’un conteneur classique

On peut donc se rendre sur Containers, puis Add :

A partir de là, si vous comprenez un minimum l’anglais, c’est trivial :

  • On choisi un nom pour notre conteneur ;
  • On choisi le nom de l’image présente sur le Docker hub (à noter que l’on peut créer son propre hub et aller pointer dessus) ;
  • On peut pull automatiquement l’image si non dispo en local ;
  • Mapper automatique un port random de l’hôte vers un port utilisé par le service du conteneur ;
  • Activer des ACL permettant de restreindre le management du conteneur à un groupe particulier (car il est tout à fait possible d’utiliser Portainer avec différentes teams) ;
  • Supprimer automatiquement le conteneur s’il s’agit d’un simple test ;

Ensuite on peut cliquer sur Deploy et le déploiement commence. Bien entendu je ne vous l’ai pas montré sur la capture d’écran ci-dessus mais si vous scrollez jusqu’en bas vous verrez différentes options avancées, comme une commande à exécuter au démarrage du conteneur, un réseau/volume à configurer, enfin des choses classiques.

Et hop là, notre conteneur est bel et bien déployé, et un port aléatoire a bien été mappé sur le port 80 de notre service NGINX ! Niquel !

Ceci conclut donc cette présentation de l’outil Portainer, j’espère vous l’avoir fait découvrir même si ce dernier devient relativement connu désormais 😛

Une bonne journée/soirée à vous !