Portainer est une interface de gestion open source et légère pour vos dockers et clusters Swarm. Disponible sur Github, Portainer possède plus de 5000 stars, 504 forks et 77 contributeurs.
En terme de fonctionnalités
Une vue globale
Un aperçu permet d’avoir une vision globale de votre système et notamment :
- Les informations système de base (nom, version de Docker, CPU, mémoire)
- Le nombre de containers,
- Le nombre d’images,
- Le nombre de volumes,
- Le nombre de réseaux
La liste des containers
La liste des containers affiche une liste détaillée des containers avec leur état ainsi que des informations utiles (nom, image, IP, ports, …). Il est possible d’effectuer certaines actions sur ces containers:
- Démarrer
- Arrêter
- Killer
- Redémarrer
- Mettre en pause
- Résumer
- Supprimer
- Ajouter un nouveau container
Des détails et statistique sur chaque container
Au niveau des détails du container, on retrouve des informations utiles ainsi qu’un accès aux statistiques détaillés, aux logs ainsi qu’à la console. Mais ce n’est pas tout, on retrouve également de manière détaillée :
- Le statut
- La date de démarrage
- l’IP
- L’image utilisée
- Les ports mappés
- La commande (ou entrypoint)
- Les variables d’environnement
- Les volumes montés
- Ainsi que les réseaux mappés
Le statistiques sont en temps réel et permettent de suivre le CPU, la mémoire, l’utilisation du réseau ainsi que les processus en cours d’exécution.
Les logs et la console sont très utiles pour vérifier le bon fonctionnement des processus en cours de fonctionnement ou lancer des commandes sur le container en question.
Créer son container visuellement
Il est tout à fait possible de créer et lancer un nouveau container en spécifiant l’image à utiliser ainsi que les différents paramètres d’exécution.
Gestion des réseaux
Il est tout à fait possible de créer et gérer vos propres réseaux via cette interface. L’outil le permet. Il est ainsi simple de créer des sous-réseau dans un cluster Swarm.
Gestion des images
La gestion des images est intéressante. Au délà de la récupération d’une image depuis la registry Docker Hub, il est tout à fait possible de configurer sa propre registry projet pour gérer ses propres images. Au moment de l’ajout, il faudra alors spécifier cette registry pour récuprer l’image du bon endroit.
Démarrer un nouveau container depuis un template
Des templates permettent de lancer rapidement une instance d’un logiciel particulier. Je ne vous conseille pas ce mécanisme pour des environnements de production mais cela reste utile et rapide d’usage pour des prototypes.
Une gestion des clusters
Portainer gère nativement les clusters Swarm mais ne permet la gestion des Docker compose. Une issue est ouverte à ce sujet à ce sujet depuis 1 an.
Qui dit Swarm dit Services. Il est donc possible de gérer ces services depuis l’interface et de scaler (augmenter ou réduire le nombre de noeuds) son service.
Pour aller plus loin
La gestion des utilisateurs permet de créer des groupes pour limiter l’accès à certaines ressources et à certains utilisateurs. Pour aller plus loin, il est même possible de customiser son portail en choisissant son logo et en modifiant son propre template pour l’intégrer dans un portail d’administration plus complet.
Et la concurrence ?
Oui, il existe d’autres solutions comme Shipyard ou Panamax mais elles ne sont pas aussi complètes. Un tableau de comparaison permet de se faire sa propre idée de la chose. La différence avec Shipyard par exemple se situe dans la gestion du réseau Docker, des volumes, ou bien des templates pré-configurés. Pour Panamax, c’est différent. Ce dernier étant bien moins étoffé.
Comment on l’installe ?
Disponible sous Linux, Windows et Linux, Portainer fonctionne dans un docker ultra léger. L’image pesant moins de 4Mo. Pour l’installer, rien de plus simple :
A noter que l’option -v /var/run/docker.sock:/var/run/docker.sock ne s’utilise que dans un environnement Linux. Inutile donc d’ajouter cette ligne de commande sous Windows ou Mac.
Une démo publique est accessible sur http://demo.portainer.io/ avec les identifiants admin et tryportainer.
En bref, c’est léger, pratique et ça évite de devoir taper des dizaines de commandes pour accéder à l’information utile.
Plus d’informations et téléchargements :