Aujourd'hui dans ce petit tutoriel nous allons voir comment mettre en place et utiliser Portainer, un système de management de containers pour Docker.
Portainer est sous licence Zlib (https://github.com/portainer/portain...evelop/LICENSE) et tourne-lui même dans... Un container
Ce tutoriel sera composé des parties suivantes :
Et bien commençons sans plus attendre !
Piqure de rappel : Installation de Docker sous Debian
Ce tutoriel part du principe que vous avez déjà une machine Debian installée.
Nous allons donc préparer l'installation de docker-ce pour cela nous allons commencer par mettre a jour notre index de packages :
Installons ensuite les dépendances dont nous allons avoir besoin :
Ajoutons maintenant la clef gpg de Docker à APT :
Ajoutons maintenant les dépôts Docker a nos sources :
Nous somme maintenant prêts à installer Docker, let's go :
Testons que tout fonctionne bien, lancez :
Vous devriez obtenir ceci :
Si ce n'est pas le cas, n'hésitez pas à poser des questions en réponse à ce tutoriel
Et voilà ! Nous avons un Docker tout beau tout neuf, passons maintenant à l'étape suivante...
Installation/configuration de Portainer
Nous allons maintenant passer à l'installation de Portainer, nous allons dans un premier temps lui créer un volume (si vous ne savez pas ce que c'est, nous le décrirons plus loin dans le tuto) :
Et nous n'avons plus qu'a l'installer :
Testons voir si tout c'est bien passé :
Et nous devrions avoir accès à l'interface via l'adresse ip de la machine sur le port 9000 :
Ici vous allez pouvoir configurer le nom d'utilisateur et le mot de passe de l'administrateur du Portainer. Une fois cela fait nous arrivons sur ce panneau :
Sélectionnez local. Et voilà la configuration de Portainer est finie, facile non ?
Création de notre premier container
Une fois sur l'interface allez dans local > containers > add containers
Ici vous pouvez donner un nom a votre container, choisir quels ports exposer et bien d'autres réglages, mais surtout : choisir l'image Docker à utiliser ! Pour cela rendons-nous sur https://hub.docker.com/ pour notre exemple nous allons déployer Ghost, un CMS de blog écrit en NodeJS (https://hub.docker.com/_/ghost)
Nous allons configurer dans Portainer comme suit :
Puis cliquons sur "deploy the container". Nous pouvons ensuite voir un tableau récapitulatif, intéressons nous a la colonne "Published Ports", chez moi je peux y voir : "32768:2368" ce qui veux dire que mon Ghost sera accessible sur le port 32768 ! Testons :
Et voilà nous avons créé notre premier container. Il y a évidement bien plus de configurations possible, mais nous ne rentrerons pas dans le détail ici, n'hésitez pas à poser vos questions plus poussées en réponse
Les volumes
Qu'est-ce que les volumes chez Docker ? Pour bien le comprendre rien de mieux que la doc officielle : https://docs.docker.com/storage/volumes/
Pour résumer rapidement : Les volumes vous permettent de partager certains dossiers entre le container et l'hôte.
Pour créer un volume, rien de plus simple : On se rend dans l'onglet volume et ajoutons un nouveau volume :
Nous allons ensuite créer un nouveau container httpd (https://hub.docker.com/_/httpd) et définir le dossier /usr/local/apache2/htdocs/ comme étant notre volume :
Maintenant nous allons modifier le fichier /var/lib/docker/volumes/html/_data/index.html :
Et voilà, vous savez maintenant gérer les volumes avec Portainer (et pourquoi pas, partager un volume entre deux containers ? )
Et d'un point de vue réseau ?
Portainer permet de gérer nos réseaux de containers très simplement, pour cet exemple nous allons créer un nouveau réseau, pour cela allons dans l'onglet "Network" et créons un nouveau réseau comme ceci :
Retournons maintenant sur notre container Ghost et tout en bas ajoutons le au réseau :
Et voilà ! Notre machine est ajoutée au nouveau réseau. Encore une fois ceci n'est qu'une configuration de base, mais nous pouvons imaginer la mise en place d'une DMZ, LAN... De containers !
Pour aller plus loin
Ce tutoriel n'est qu'un aperçu rapide des possibilités offertes par Portainer, pour aller plus loin je vous invite à consulter les liens suivants :
https://www.portainer.io/overview/
https://docs.docker.com/
N'hésitez pas à réagir en commentaire et à poser vos questions !
À bientôt
Portainer est sous licence Zlib (https://github.com/portainer/portain...evelop/LICENSE) et tourne-lui même dans... Un container
Ce tutoriel sera composé des parties suivantes :
- Piqure de rappel : Installation de Docker sous Debian
- Installation/configuration de Portainer
- Création de notre premier container
- Les volumes
- Et d'un point de vue réseau ?
- Pour aller plus loin
Et bien commençons sans plus attendre !
Piqure de rappel : Installation de Docker sous Debian
Ce tutoriel part du principe que vous avez déjà une machine Debian installée.
Nous allons donc préparer l'installation de docker-ce pour cela nous allons commencer par mettre a jour notre index de packages :
Code:
apt update
Code:
apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Code:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
Code:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Code:
apt update && apt install docker-ce
Code:
docker run hello-world
Si ce n'est pas le cas, n'hésitez pas à poser des questions en réponse à ce tutoriel
Et voilà ! Nous avons un Docker tout beau tout neuf, passons maintenant à l'étape suivante...
Installation/configuration de Portainer
Nous allons maintenant passer à l'installation de Portainer, nous allons dans un premier temps lui créer un volume (si vous ne savez pas ce que c'est, nous le décrirons plus loin dans le tuto) :
Code:
docker volume create portainer_data
Code:
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Et nous devrions avoir accès à l'interface via l'adresse ip de la machine sur le port 9000 :
Ici vous allez pouvoir configurer le nom d'utilisateur et le mot de passe de l'administrateur du Portainer. Une fois cela fait nous arrivons sur ce panneau :
Sélectionnez local. Et voilà la configuration de Portainer est finie, facile non ?
Création de notre premier container
Une fois sur l'interface allez dans local > containers > add containers
Ici vous pouvez donner un nom a votre container, choisir quels ports exposer et bien d'autres réglages, mais surtout : choisir l'image Docker à utiliser ! Pour cela rendons-nous sur https://hub.docker.com/ pour notre exemple nous allons déployer Ghost, un CMS de blog écrit en NodeJS (https://hub.docker.com/_/ghost)
Nous allons configurer dans Portainer comme suit :
Puis cliquons sur "deploy the container". Nous pouvons ensuite voir un tableau récapitulatif, intéressons nous a la colonne "Published Ports", chez moi je peux y voir : "32768:2368" ce qui veux dire que mon Ghost sera accessible sur le port 32768 ! Testons :
Et voilà nous avons créé notre premier container. Il y a évidement bien plus de configurations possible, mais nous ne rentrerons pas dans le détail ici, n'hésitez pas à poser vos questions plus poussées en réponse
Les volumes
Qu'est-ce que les volumes chez Docker ? Pour bien le comprendre rien de mieux que la doc officielle : https://docs.docker.com/storage/volumes/
Pour résumer rapidement : Les volumes vous permettent de partager certains dossiers entre le container et l'hôte.
Pour créer un volume, rien de plus simple : On se rend dans l'onglet volume et ajoutons un nouveau volume :
Nous allons ensuite créer un nouveau container httpd (https://hub.docker.com/_/httpd) et définir le dossier /usr/local/apache2/htdocs/ comme étant notre volume :
Maintenant nous allons modifier le fichier /var/lib/docker/volumes/html/_data/index.html :
Et voilà, vous savez maintenant gérer les volumes avec Portainer (et pourquoi pas, partager un volume entre deux containers ? )
Et d'un point de vue réseau ?
Portainer permet de gérer nos réseaux de containers très simplement, pour cet exemple nous allons créer un nouveau réseau, pour cela allons dans l'onglet "Network" et créons un nouveau réseau comme ceci :
Retournons maintenant sur notre container Ghost et tout en bas ajoutons le au réseau :
Et voilà ! Notre machine est ajoutée au nouveau réseau. Encore une fois ceci n'est qu'une configuration de base, mais nous pouvons imaginer la mise en place d'une DMZ, LAN... De containers !
Pour aller plus loin
Ce tutoriel n'est qu'un aperçu rapide des possibilités offertes par Portainer, pour aller plus loin je vous invite à consulter les liens suivants :
https://www.portainer.io/overview/
https://docs.docker.com/
N'hésitez pas à réagir en commentaire et à poser vos questions !
À bientôt