Aller au contenu

Mise à jour Container Docker

De Wiki Mophete
Version datée du 12 mai 2026 à 10:38 par Admin (discussion | contributions) (Étape 1 — Se placer dans le bon répertoire)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Mise à jour des containers Docker Compose

[modifier]

Cette procédure décrit les étapes pour mettre à jour les images et containers gérés via Docker Compose.

Prérequis

[modifier]
  • Accès SSH ou terminal sur la machine hôte
  • Droits suffisants pour exécuter les commandes docker et docker compose
  • Connaissance du répertoire contenant le fichier docker-compose.yml

Étape 1 — Se placer dans le bon répertoire

[modifier]

<syntaxhighlight lang="bash"> cd /chemin/vers/votre/projet </syntaxhighlight>

Modèle:Note

Étape 2 — Sauvegarder les données persistantes (recommandé)

[modifier]

Avant toute mise à jour, assurez-vous que vos volumes sont sauvegardés si des données critiques y sont stockées.

<syntaxhighlight lang="bash">

  1. Lister les volumes utilisés

docker compose config --volumes

  1. Exemple de sauvegarde d'un volume nommé "db_data"

docker run --rm \

 -v db_data:/data \
 -v $(pwd)/backup:/backup \
 alpine tar czf /backup/db_data_$(date +%Y%m%d).tar.gz -C /data .

</syntaxhighlight>

Étape 3 — Récupérer les nouvelles images

[modifier]

Téléchargez les dernières versions des images depuis les registres (Docker Hub, GHCR, etc.) :

<syntaxhighlight lang="bash"> docker compose pull </syntaxhighlight>

Cette commande met à jour toutes les images déclarées dans le fichier Compose.

Pour ne mettre à jour qu'un seul service :

<syntaxhighlight lang="bash"> docker compose pull <nom_du_service> </syntaxhighlight>

Étape 4 — Recréer et redémarrer les containers

[modifier]

Méthode recommandée (avec arrêt propre)

[modifier]

<syntaxhighlight lang="bash"> docker compose up -d --remove-orphans </syntaxhighlight>

-d
Lance les containers en arrière-plan (mode detached)
--remove-orphans
Supprime les containers d'anciens services qui ne sont plus dans le fichier Compose

Docker Compose détecte automatiquement quelles images ont changé et ne recrée que les containers concernés.

Si vous souhaitez forcer la recréation de tous les containers

[modifier]

<syntaxhighlight lang="bash"> docker compose up -d --force-recreate </syntaxhighlight>

Étape 5 — Vérifier l'état des containers

[modifier]

<syntaxhighlight lang="bash"> docker compose ps </syntaxhighlight>

Consultez les logs en cas de problème :

<syntaxhighlight lang="bash">

  1. Logs de tous les services

docker compose logs -f

  1. Logs d'un service spécifique

docker compose logs -f <nom_du_service> </syntaxhighlight>

Étape 6 — Nettoyer les anciennes images

[modifier]

Une fois la mise à jour vérifiée, supprimez les images obsolètes pour libérer de l'espace disque :

<syntaxhighlight lang="bash"> docker image prune -f </syntaxhighlight>

Modèle:Attention

Résumé des commandes

[modifier]
Étape Commande Description
1 cd /chemin/projet Se positionner dans le répertoire
2 docker compose pull Télécharger les nouvelles images
3 docker compose up -d --remove-orphans Recréer les containers mis à jour
4 docker compose ps Vérifier l'état
5 docker compose logs -f Consulter les logs
6 docker image prune -f Nettoyer les images obsolètes

Cas particuliers

[modifier]

Mise à jour avec rebuild d'une image locale

[modifier]

Si votre Compose utilise un build: (image construite localement depuis un Dockerfile) :

<syntaxhighlight lang="bash"> docker compose build --no-cache docker compose up -d </syntaxhighlight>

Rollback en cas de problème

[modifier]

Si la mise à jour provoque une régression, vous pouvez revenir à l'image précédente en spécifiant un tag dans votre docker-compose.yml :

<syntaxhighlight lang="yaml"> services:

 mon_service:
   image: mon_image:1.2.3   # Remplacer latest par un tag versionné

</syntaxhighlight>

Puis relancer :

<syntaxhighlight lang="bash"> docker compose up -d </syntaxhighlight>

Modèle:Conseil

Voir aussi

[modifier]