AdminII Méthodologie - dudleydehenau/Ephec GitHub Wiki

Méthode de Travail pour la Gestion des Conteneurs Docker

Objectif

Cette méthode vise à organiser de manière claire et cohérente l'utilisation de Docker sur l'utilisateur mcqueen. L'objectif est de faciliter la gestion des configurations et des données des conteneurs en assurant une structure logique et réutilisable.

Arborescence des Dossiers

Sur l'utilisateur mcqueen, nous allons structurer les fichiers de Docker comme suit :

/home/mcqueen/docker/
│-- config/
│   │-- <nom_du_conteneur>/
│   │   ├── docker-compose.yml
│   │   ├── autres fichiers de configuration...
│-- data/
│   │-- <nom_du_conteneur>/
│       ├── données persistantes du conteneur

Explication

  • /home/mcqueen/docker/ : Dossier principal contenant tous les fichiers liés à Docker.
  • config/ : Contient les fichiers de configuration de chaque conteneur.
    • Chaque conteneur dispose de son propre dossier (<nom_du_conteneur>) où seront stockés son fichier docker-compose.yml et ses éventuelles configurations.
  • data/ : Contient les données persistantes des conteneurs.
    • Chaque conteneur dispose d'un dossier (<nom_du_conteneur>) dédié pour stocker ses fichiers de données.

Processus de Déploiement

1. Création d'un Nouveau Conteneur

Lorsqu'on souhaite ajouter un nouveau conteneur :

  1. Créer un dossier pour le conteneur dans config/ :
    mkdir -p /home/mcqueen/docker/config/<nom_du_conteneur>
    
  2. Ajouter le fichier docker-compose.yml dans ce dossier :
    version: '3'
    services:
      <nom_du_conteneur>:
        image: <image_du_conteneur>
        container_name: <nom_du_conteneur>
        volumes:
          - "../data/<nom_du_conteneur>:/chemin_interne_du_conteneur"
        ports:
          - "<port_externe>:<port_interne>"
        restart: unless-stopped
    
  3. Créer un dossier pour les données dans data/ :
    mkdir -p /home/mcqueen/docker/data/<nom_du_conteneur>
    
  4. Lancer le conteneur :
    cd /home/mcqueen/docker/config/<nom_du_conteneur>
    docker compose up -d
    

2. Gestion et Maintenance

  • Arrêter un conteneur :
    cd /home/mcqueen/docker/config/<nom_du_conteneur>
    docker compose down
    
  • Redémarrer un conteneur :
    cd /home/mcqueen/docker/config/<nom_du_conteneur>
    docker compose restart
    
  • Mettre à jour un conteneur :
    cd /home/mcqueen/docker/config/<nom_du_conteneur>
    docker compose pull
    docker compose up -d --force-recreate
    
  • Supprimer un conteneur et ses données :
    cd /home/mcqueen/docker/config/<nom_du_conteneur>
    docker compose down --volumes
    rm -rf /home/mcqueen/docker/data/<nom_du_conteneur>
    rm -rf /home/mcqueen/docker/config/<nom_du_conteneur>
    

Avantages de cette Méthode

Organisation claire : séparation entre la configuration et les données. ✅ Facilité de gestion : chaque conteneur est isolé et identifiable. ✅ Facilité de sauvegarde et de migration : il suffit de copier config/ et data/. ✅ Traçabilité : tout est versionnable et récupérable.

Collaboration et Versioning

  1. Utiliser Git pour la gestion des configurations : Pour des soucis de limite d'utilisateur, les modifications devront être ajouté sur le wiki depuis la machine local de l'utilisateur.

  2. Travailler en équipe :

    • Toujours backuper les docker-compose file avant de modifier le fichier en respectant une convention de nommage cohérent : 20250220docker-compose.yml
    • Documenter chaque modification dans un commit clair.

Conclusion

Cette méthode assure une gestion efficace des conteneurs Docker en équipe. En suivant ces bonnes pratiques, nous garantissons une infrastructure propre, évolutive et maintenable sur le long terme.