Docker et Portainer

De Ikoula Wiki
Jump to navigation Jump to search

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.

Docker

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.

Portainer

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.

Docker-p-1JPG.JPG

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:

Docker-p-2.JPG

Vous pouvez aussi utiliser cet commande pour lister tout les Containers (Conteneurs).

docker ps -a

Docker-p-3.JPG

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

Portainer-p-6.JPG

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 à :

https://votre@IP:9443

Exemple: https://192.168.1.50:9443

La page que vous trouverez vous invitera à redémarrer le conteneur:

Docker-p-5.JPG

Pour le faire, sur votre serveur hôte, dans un Shell, veuillez bien insérer la commande suivante:

docker restart portainer

Docker-p-6.JPG

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.

Portainer-p-1.JPG

Et voila vous pouvez utiliser votre nouveau interface Web Portainer pour la gestion de vous conteneurs.

Portainer-p-2.JPG

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 ?

0



Vous n'êtes pas autorisé à publier de commentaire.