Docker et Portainer
Introduction
Sur ce guide nous allons vous guider sur l'installation du service Docker (système d'exploitation pour conteneurs) et également de Portainer qui est un interface web facile à utiliser pour gérer et administrer tous vos containers Docker. Ce guide a été créé à partir des pages officiels de Docker et Portainer et sert à faciliter la compréhension et l'installation des services. Nous vous conseillons de vérifier les derniers développements directement sur le site officiel Docker Portainer
Dans ce guide nous utiliserons une VM sous Debian 11, pour d'autres distributions Linux nous vous invitons à vérifier Docker
Selon le produit que vous possédez, vous avez la possibilité d'automatiser l'installation depuis APPLICATIONS ONECLICK SERVEUR DÉDIÉ directement sur votre interface Extranet
Docker, qu'est-ce que c'est et comment cela fonctionne-t-il ?
Docker est une plateforme permettant de lancer certaines applications dans des conteneurs logiciels. Il ne s'agit pas de virtualisation, mais de conteneurisation, une forme plus légère qui s'appuie sur certaines parties de la machine hôte pour son fonctionnement. Cette approche permet d'accroître la flexibilité et la portabilité d’exécution d'une application, laquelle va pouvoir tourner de façon fiable et prévisible sur une grande variété de machines.
L'objectif d'un conteneur est le même que pour une machine Virtuelle : héberger des services sur un même serveur physique tout en les isolant les uns des autres.
Le Docker permet d’automatiser le déploiement des applications au sein d’un environnement de conteneurs. Grâce à ces divers outils, les utilisateurs profitent d’un accès complet aux applications et sont en mesure d’accélérer le déploiement, de contrôler les versions et de les attribuer.
Portainer, qu'est-ce que c'est ?
Le Docker est un outil, utilisable en ligne de commande. Afin de faciliter la gestion des conteneurs, il existe Portainer. Une interface Web qui permette de gérer les opérations courantes sur des conteneurs. Le Portainer permet de gérer une bonne partie des éléments de docker : conteneurs, images, volumes, réseaux, utilisateurs, etc.
Installation Docker
Préparation
Notes: Toutes les procédures expliquées ici sont effectuées avec les droits "root", Veuillez bien adapter les commandes si vous utilisez un utilisateur sans droits (root) avec sudo.
Premièrement nous allons mettre à jour le cache des paquets et les Upgrade et ensuit nous allons installer le needrestart pour vérification des services à redémarrer suite à des mises à jour de sécurité.
apt-get update && apt-get upgrade
apt-get install needrestart
Une fois que la mise à jour des paquets est terminée et le needrestart installé, veuillez bien le lancer, afin de vérifier si nous devons redémarrer des services ou même le serveur.
needrestart
Dans notre cas, le needrestart nous indique que le serveur a effectué une mise à jour du noyau (Kernel) et qu'il doit être redémarré ainsi que les services qui doivent l'être.
Pour redémarrer votre serveur.
shutdown -r now
Installation en utilisant les dépôt (repository).
Notes: il existe plusieurs méthodes d'installation, pour les connaitre veuillez bien consulter le site officiel
Avant d'installer Docker Engine pour la première fois sur une nouvelle machine hôte, vous devez configurer le (repository) Docker. Par la suite, vous pouvez installer et mettre à jour Docker à partir de cet dépôt.
- Configurer le dépôt.
apt-get update
apt-get install ca-certificates curl gnupg lsb-release
- Ajouter la clé GPG officielle de Docker.
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- Utilisez la commande suivante pour configurer le dépôt.
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
Normalement notre clé GPG officielle est installé.
Installation du Docker Engine
Notes: Cette procédure fonctionne pour Debian sur x86_64 / amd64, armhf, arm64, et Raspbian.
Si vous recevez une erreur GPG lorsque vous exécutez apt-get update ?
Votre umask par défaut est peut-être mal configuré, ce qui empêche la détection du fichier de clé publique du référentiel. Essayez d'accorder le droit de lecture pour le fichier de clé publique de Docker avant de mettre à jour l'index des paquets :
chmod a+r /etc/apt/keyrings/docker.gpg
apt-get update
Installation de Docker Engine, containerd, and Docker Compose (dernière version).
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Vérification que l'installation du moteur Docker est réussie
Pour le faire vous pouvez exécuter l'image hello-world :
docker run hello-world
Si tout est correct, vous obtiendrez ce message:
Vous pouvez aussi utiliser cet commande pour lister tout les Containers (Conteneurs).
docker ps -a
Notes: Cette commande est très utile car elle nous montre à la fois le nom du conteneur (youtful_franklin) dont nous avons besoin pour la gestion et le statut actuel du conteneur, qui dans ce cas est (Exited). Dans le prochain chapitre, je laisserai une liste des commandes pour la gestion de conteneurs em shell, mais comme mentionné ci-dessus nous installerons le conteneur Portainer afin de nous simplifier la gestion des conteneurs depuis un interface Web.
Gestion Docker en Shell Commandes rapides
Gérer les conteneurs
- Lister tous les conteneurs docker ps -a
- Lister les conteneurs en cours d'exécution docker ps
- Arrêter un conteneur docker stop CONTAINER
- Démarrer un conteneur docker start CONTAINER
- Supprimer un conteneur en cours d'exécution docker rm -f CONTAINER
- Supprimer un conteneur docker rm CONTAINER
- Copier le fichier depuis le conteneur -docker cp CONTAINER:SOURCE TARGET
- Copier le fichier vers le conteneur -docker cp TARGET CONTAINER:SOURCE
- Démarrer le shell dans le conteneur -docker exec -it CONTAINER bash
- Renommer le conteneur docker rename OLD NEW
- Créer une nouvelle image à partir du conteneur docker commit CONTAINER
Exécuter un nouveau conteneur
- Nouvelle image docker run IMAGE
- Nommez le conteneur et lancez l'image docker run --name CONTAINER IMAGE
- Mappage des ports du conteneur et lancement de l'image docker run -p HOSTPORT:CONTAINERPORT IMAGE
- Cartographie de TOUS les ports et lancement de l'image docker run -P IMAGE
- Lancement de l'image en tant que service d'arrière-plan docker run -d IMAGE
- Configuration du répertoire local et lancement docker run -v HOSTDIR:TARGETDIR IMAGE
Gérer les images
- Télécharger l'image docker pull IMAGE[:TAG]
- Télécharger l'image dans le référentiel docker push IMAGE
- Supprimer une image docker rmi IMAGE
- Lister les images docker images
- Construire une image à partir d'un fichier Docker docker build DIRECTORY
- Marquer l'image IMAGE docker tag IMAGE NEWIMAGE:TAG
Dépannage et information
- Afficher les journaux journaux de docker CONTAINER
- Afficher les statistiques docker stats
- Afficher les processus docker top CONTAINER
- Afficher les fichiers modifiés docker diff CONTAINER
- Afficher les ports mappés docker port CONTAINER
Installation Portainer
La page web officielle peux être trouve ici Portainer
Déploiement
D'abord, il faut créer le volume que le serveur Portainer utilisera pour stocker sa base de données :
docker volume create portainer_data
Ensuite, téléchargez et installez le conteneur Portainer Server (Version "Community Edition"):
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
Par défaut, Portainer génère et utilise un certificat SSL auto-signé pour sécuriser le port 9443. Alternativement, vous pouvez fournir votre propre certificat SSL pendant l'installation ou via l'interface utilisateur de Portainer après l'installation. Pour information, le port 8000 est destiné à HTTP si nécessaire.
NOTES: En cas de dysfonctionnement du Portainer, veuillez vérifier sur votre pare-feu si ces ports sont présents et acceptent le trafic.
Pour vérifier le "Status" du Portainer vous pouvez utiliser la commande:
docker ps
Depuis la capture d'image nous pouvons vérifier toutes les informations sur le conteneur et son statut actuel.
Login
Maintenant que l'installation est terminée, vous pouvez vous connecter à votre instance de Portainer Server en ouvrant un navigateur web et en allant à :
Exemple: https://192.168.1.50:9443
La page que vous trouverez vous invitera à redémarrer le conteneur:
Pour le faire, sur votre serveur hôte, dans un Shell, veuillez bien insérer la commande suivante:
docker restart portainer
Une fois que le conteneur redémarre il suffit de retourner sur votre page WEB et de faire un rafraîchissement de la page F5 et de créer votre compte admin.
Et voila vous pouvez utiliser votre nouveau interface Web Portainer pour la gestion de vous conteneurs.
Conclusion
J'espère que les éléments présentés ici vous seront utiles pour la gestion de vos conteneurs.
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires