Docker server de production: Installation d'un Serveur de production avec LVM et overlay2
Introduction Docker est une plateforme de conteneurisation qui permet de créer, déployer et gérer des applications dans des conteneurs légers. Pour une utilisation en production, il est crucial…

Introduction
Docker est une plateforme de conteneurisation qui permet de créer, déployer et gérer des applications dans des conteneurs légers. Pour une utilisation en production, il est crucial d'optimiser les performances et la gestion des ressources du serveur. LVM (Logical Volume Manager) est une technologie de gestion de volumes logiques qui facilite la gestion flexible du stockage. L'installation d'un serveur Docker avec LVM peut améliorer la performance, la gestion et la scalabilité des applications conteneurisées.
Pré-requis
Avant de commencer, assurez-vous d'avoir :
- Un serveur avec un système d'exploitation basé sur Linux (par exemple, Ubuntu).
- Un accès root ou des privilèges sudo.
- Une compréhension de base de Docker.
- Monter un disk data sur la vm
Étape 1 : Mise à Jour du Système
-
- Mettez à jour les paquets de votre système pour garantir que vous disposez des dernières versions :
sudo apt update
sudo apt upgrade -y
Étape 2 : Installation de Docker
-
- Ajoutez la clé GPG officielle de Docker :
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
-
- Configurez le dépôt Docker stable dans les sources apt:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
-
- Installez une version spécifique de Docker :
# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'
VERSION_STRING=5:27.0.3-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker --version
docker ps
-
- Installer la dernière version de Docker si vous voulez. Sinon sautez
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Étape 3 : Installation de LVM
-
- Installez LVM si ce n'est pas déjà fait et vérifier les lv et vg eventuls existants :
sudo apt install lvm2 -y
sudo lvdisplay
sudo vgdisplay
Étape 4 : Configuration de LVM
-
- Vérifier le nom du disk et d'entuels lv, pv
# lister les disks et noter le disk pour vos datas
sudo lsblk
sudo fdisk -l
Je n'ai ni de lv, ni de vg et mon disk data est s'appelle vdb

-
- Initialisez le disque pour LVM : Sélectionnez le disque que vous souhaitez utiliser pour LVM (par exemple, /dev/vdb).
# créer le pv
sudo pvcreate /dev/vdb
# liste les pvs
sudo pvs

-
- Créez un volume group (VG) :
sudo vgcreate docker-vg /dev/vdb
-
- Créez un logical volume (LV) pour Docker :
sudo lvcreate -n docker-lv -l 50%FREE docker-vg
-
- Formatez le volume logique :
sudo mkfs.ext4 /dev/docker-vg/docker-lv

-
- Montez le volume logique :
Créez un point de montage si ça n'existe pas déjà:
sudo mkdir /var/lib/docker
-
- Montez le volume logique :
sudo mount /dev/docker-vg/docker-lv /var/lib/docker
-
- Configurez le montage automatique à chaque redémarrage en ajoutant la ligne suivante à /etc/fstab :
echo '/dev/docker-vg/docker-lv /var/lib/docker ext4 defaults 0 2' | sudo tee -a /etc/fstab


Étape 5 : Configuration de Docker pour Utiliser LVM
Docker peut être configuré pour utiliser le stockage LVM via le stockage direct-lvm.
-
- Arrêtez Docker :
sudo systemctl stop docker.socket
sudo systemctl stop docker
-
- Configurez Docker pour utiliser LVM en créant ou en modifiant le fichier /etc/docker/daemon.json :
{
"storage-driver": "overlay2"
}

-
- Démarrer le socket Docker :
sudo systemctl start docker.socket
sudo systemctl start docker
-
- Vérifier le statut de Docker :
sudo systemctl status docker
docker info | grep "Storage Driver"

Faire le nettoyage de la VM
# arret de docker deaemon
sudo systemctl stop docker.socket
sudo systemctl stop docker
# demonter le lv
sudo umount /dev/docker-vg/docker-lv
# supprimer le lv
sudo lvremove /dev/docker-vg/docker-lv
# supprimer le vg
sudo vgremove docker-vg
# lister les pvs
sudo pvs
# supprimer le pv remplacer le X par la bonne lettre
sudo pvremove /dev/sdX
Etape 6: Automatiser l'installation de docker avec bash
Le script suivant permet d'insaller docker.
# curl -fsSL https://releases.rancher.com/install-docker/27.0.sh | bash
# curl -fsSL https://releases.rancher.com/install-docker/26.0.sh | bash
curl -fsSL https://releases.rancher.com/install-docker/25.0.sh | bash
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker --version
docker ps
Il faut déconnecter et se reconnecter pour la prise en compte
Conclusion
Configurer Docker pour utiliser le pilote de stockage overlay2 avec un volume logique LVM combine la flexibilité de la gestion du stockage de LVM avec les performances et la stabilité accrues d'overlay2. Ce processus implique les étapes suivantes :
-
Création et Configuration du Volume Logique LVM :
- Initialisation du disque pour LVM.
- Création d'un groupe de volumes et d'un volume logique.
- Formatage du volume logique en ext4.
-
Montage du Volume Logique :
- Création d'un point de montage pour Docker.
- Montage du volume logique et ajout de l'entrée correspondante dans /etc/fstab pour un montage automatique au démarrage.
-
Configuration de Docker :
- Modification du fichier /etc/docker/daemon.json pour utiliser overlay2 comme pilote de stockage.
-
Redémarrage de Docker :
- Arrêt et démarrage des services Docker et Docker socket pour appliquer la nouvelle configuration.
-
Vérification :
- Vérification du statut de Docker et confirmation de l'utilisation du pilote de stockage overlay2.
N'hésitez pas à laisser des commentaires si vous avez des questions ou des suggestions !
Commentaires
- coolibra05 juil. 2024
N'hésitez pas à laisser des commentaires si vous avez des questions ou des suggestions !
