C'était une application oubliée par belginux mais à partir d’aujourd’hui cette ignominie sera réparée!
C'est un outil fort apprécié par beaucoup d'utilisateurs de Docker. Grâce à Portainer, et pour faire simple, vous pourrez déployer vos containers (en d'autres mots, installer l'application), les redémarrer, les supprimer, les éditer, les mettre à jour,...
Si vous avez un fichier .env à ajouter, pas de souci, Portainer a prévu une option pour joindre un fichier .env.
Aujourd'hui nous allons donc voir comment installer et utiliser Portainer pour installer une application sans peine et gérer vos containers.
⚡Caractéristiques
Tellement la liste des fonctionnalités est longe, je vous mets le lien directement:
L'installation
- Tout d'abord, il faut créez le volume que Portainer utilisera pour stocker sa base de données :
docker volume create portainer_data
- Maintenant on va lancer la commande pour installer Portainer:
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
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 9443 par défaut. Attention c'est du HTTPS. Il faudra donc accepter l'alerte de sécurité.
https://ip:9443/
Création du compte administrateur
La première chose à faire quand vous avez lancé Portainer pour la première fois, c'est de créer votre compte administrateur:
- Username => Choisissez un nom d'utilisateur administrateur.
- Password => Choisissez un mot de passe fort.
- Confirm password => Confirmez ce mot de passe.
- Allow collection of anonymous statisctics => Cochez cette case si vous voulez autoriser la collecte de données de manière anonyme. Personnellement je ne coche pas la case.
Cliquez sur Create user quand tout est configuré.
Configurer Portainer
Après avoir créé votre compte, vous allez devoir choisir entre ces deux options. Cliquez sur Get Started:
Vous voilà maintenant sur la page principale:
Nous allons configurer Portainer de façon à ce que vous puissiez lancer une application depuis Portainer. Cliquez dans la colonne de gauche sur Environnements et ensuite sur local:
Dans la partie Public IP, il faut simplement indiquer l'IP locale de votre serveur. Pour valider, cliquez sur Update environnement:
Nous verrons plus loin comment utiliser cette fonction.
Installer une application avec Portainer
Entrons maintenant dans le vif du sujet. Comment installer une application avec Portainer?
Pour notre exemple, nous allons installer Homarr, le dashboard:
Rendons-nous sur la page et descendons jusqu'à la partie docker-compose:
Cliquez sur Copy, ensuite rendez-vous dans Portainer partie Stacks:
Mais c'est quoi un stack en fait? C'est tout simplement un ensemble de conteneurs déployés via un docker-compose. Tout simplement. Vous pouvez ainsi constituer une bibliothèque de vos stacks facilement.
Revenons à nos hamsters, vous avez donc copié le docker-compose sur belginux, ou un autre site, et vous voudriez le déployer.
Cliquez en haut à droite sur + Add stack:
Donnez-lui un nom, dans notre cas homarr.
Ce qui donne:
Maintenant vous allez coller ce que vous aviez copié, le docker-compose de homarr, ce qui donne:
Et maintenant, le plus difficile, ce qui demande une expérience de 3 ans minimum avec Docker et une dextérité monumentale. Cliquer sur Deploy the stack:
Après avoir cliqué sur Deploy the stack, vous verrez une petite roue tourner, preuve que Portainer fait son job:
Quand c'est fini, vous arriverez à nouveau sur vos stacks. Votre application est installée:
Retournez dans, colonne de gauche, sur Containers. Vous retrouverez dans la partie de droite, tous les containers présents:
Ajouter un fichier .env
Suivant les applications, certaines nécessitent un fichier .env pour fonctionner. Il est facile d'envoyer ce fichier avec Portainer. Sous votre docker-compose, cliquez sur la fonction Load variables from .env files et indiquez-lui où se trouve le fichier:
⚠️ N'oubliez pas d'ajouter dans le docker-compose la mention:
Merci à paripou de Reddit de m'avoir fait remarqué mon oubli.
env_file:
- stack.env
Comme le conseil Portainer:
Vous pourrez ensuite déployer ensuite votre container.
Lancer une application depuis Portainer
Grâce à la manipulation que nous avons fait plus haut avec le réglage dans Environnement, c'est à dire ajouter l'IP locale du serveur, il sera très facile de lancer votre application.
Dans la partie Containers, vous cliquez sur les ports en fin de ligne:
Cela ouvre l'application:
Start | Stop | Restart | Pause | Resume | Remove
Une chose essentielle quand on commence à jouer avec des containers, c'est, parfois, de pouvoir les démarrer, les stopper ou d'autres actions pratiques et utiles.
Portainer à concentré toutes ces options à un seul endroit. Reprenons notre exemple avec homarr. Pour faire apparaître les options, cochez le ou les containers sur lesquelles vous voulez faire une action, car oui, vous pouvez faire ça par lot si nécessaire.
Nous allons cocher homarr et vous voyez en haut à droite, les options possibles suivant l'état du container. Cliquons sur Stop:
La State passe en rouge avec la mention exited. Le container est bien arrêté:
C'est exactement la même façon de faire pour les autres fonctions.
Comment mettre à jour un container
Autre fonction qui ne manque pas de charme même si je préfères le faire avec Yacht, c'est de mettre à jour vos applications par Portainer.
La première chose à faire est de stopper le container à mettre à jour. Maintenant que vous savez comment faire... 😊
Une fois que le container est stoppé, cliquez sur le nom de l'application, ici homarr:
Vous arriverez sur cette page, cliquez sur Recreate:
Cochez Re-pull image et ensuite cliquez sur Recreate:
Éditer un container
Dernier point dont je voulais vous parler, l'édition d'un container. Bien qu'il soit possible d'éditer le docker-compose, vous pouvez directement éditer un container dans l'interface de Portainer.
Donc on commence par cliquer sur le nom du container:
Ensuite sur Duplicate/Edit:
Dans la première partie, vous avez les options pour éditer les images Docker, les ports:
Quand vous descendez d'avantage, vous aurez accès aux Volumes, Network, Env, Restart policy, Runtime & Ressources et Capabilities:
Imaginons que nous voulions éditer le container de manière à ce qu'il reboot de lui-même si pour une raison ou une autre il est arrêté ou que vous avez redémarré le serveur.
On va donc faire appel au paramètre Restart policy qui se trouve dans le fond de la page, cliquez dessus:
Choisissez le mode, par exemple Unless stopped, cliquez dessus et ensuite pour que ce soit pris en compte, cliquez sur Deploy the container.