Serveur Debian

Administration con centré . com !

Serveur Debian : DOCKER

DOCKER

Docker est une plateforme de conteneurisation qui permet aux développeurs de créer, déployer et exécuter des applications dans des conteneurs. Un conteneur encapsule une application et toutes ses dépendances, assurant ainsi que l'application s'exécute de manière cohérente dans n'importe quel environnement.

Docker permet la mise en œuvre de conteneurs s'exécutant en isolation, via une API de haut-niveau. Il s'appuie sur les fonctionnalités du noyau et utilise l'isolation de ressources.

Création de conteneurs personnalisés : créer des images Docker personnalisées contenant des configurations spécifiques pour vos services

Chaque image peut être configurée avec des quotas de ressources spécifiques (CPU, mémoire, espace disque) en utilisant des fichiers Dockerfile et des scripts de configuration.

Isolation au niveau des processus et des fichiers offrent des performances proches de celles du système hôte car ils n'ont pas l'overhead des hyperviseurs.

  • Images : Des templates immuables pour créer des conteneurs. Les images Docker sont construites à partir de fichiers Dockerfile.
  • Conteneurs : Des instances d'images qui s'exécutent comme des applications isolées.
  • Docker Engine : Le moteur runtime qui permet la création et l'exécution des conteneurs.
  • Registry : Les registres (comme Docker Hub) permettent de stocker et partager les images Docker.
docker build # Pour construire une image à partir d'un Dockerfile.
docker run # Pour exécuter un conteneur à partir d'une image.
docker pull # Pour télécharger une image depuis un registre.
docker ps # Pour lister les conteneurs en cours d'exécution.


Docker Compose :

Docker Compose est un outil pour définir et gérer des applications multi-conteneurs. Avec Docker Compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec une seule commande, vous créez et lancez tous les services depuis cette configuration.

docker-compose up # Pour démarrer tous les services définis dans docker-compose.yml.
docker-compose down # Pour arrêter et supprimer tous les conteneurs, réseaux, et volumes définis par docker-compose.yml.
docker-compose build # Pour construire ou reconstruire les services.
docker-compose ps # Pour lister les conteneurs gérés par Docker Compose.

permet de définir et de gérer des applications multi-conteneurs. Vous pouvez créer des fichiers docker-compose.yml pour définir des ensembles de services et leurs configurations.


Gestion des abonnements avec Docker Swarm ou Kubernetes :

Pour une orchestration plus avancée, vous pouvez utiliser Docker Swarm ou Kubernetes pour déployer et gérer des conteneurs à grande échelle.

Ces outils permettent de définir des politiques de déploiement, des mises à jour automatiques et des équilibrages de charge, ce qui facilite la gestion des abonnements et des ressources.


Architecture Hybride Docker

Conteneurs partagés pour les services communs : comme Nginx (reverse proxy), la base de données MariaDB, et les services de messagerie (Postfix, Dovecot).

Conteneurs isolés pour les applications spécifiques : Chaque site utilise un conteneur isolé contenant sa configuration spécifique pour chaque service.


Autres techno

CPanel - WHMCS - Kubernetes avec Helm Charts - Pleck

sudo apt update
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y #Installer les dépendances nécessaires
#Ajouter la clé GPG officielle de Docker :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#Ajouter le référentiel Docker :
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#Installer Docker Engine :
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
#Vérifier que Docker est installé et en cours d'exécution :
sudo systemctl status docker

#installer Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version # Vérifier l'installation

#Configurer Docker pour s'exécuter sans sudo 
sudo usermod -aG docker $USER
#Se déconnecter et se reconnecter pour appliquer les changements de groupe.

sudo docker run hello-world #  vous verrez un message indiquant que le conteneur "hello-world" a été exécuté avec succès.