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.
- Définition des services : Vous pouvez définir plusieurs services (par exemple, web, base de données) dans un fichier docker-compose.yml.
- Orchestration : Docker Compose orchestre le démarrage et l'exécution des conteneurs, garantissant que les dépendances démarrent dans le bon ordre.
- Configuration centralisée : Toutes les configurations (réseaux, volumes, variables d'environnement) sont centralisées dans un seul fichier.
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.
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’utilisateur.
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.
Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.