Cet article suit la référence de la ligne de commande Docker, la page sur les volumes et la référence des services Compose, relues le 14 octobre 2026.
Avant de commencer
- Lisez les notes de version de l'application, sur son dépôt ou son site. Une version majeure peut changer une variable, un chemin ou le format de la base, et demander une étape à la main.
- Repérez où sont les données.
docker inspect nomliste, dans sa section Mounts, les volumes et dossiers montés. Ce qui n'y figure pas sera perdu à la recréation. - Notez la version actuelle.
docker psaffiche l'image et son étiquette : c'est elle que vous remettrez si la mise à jour se passe mal. - Sauvegardez les volumes, comme décrit plus bas.
Avec Docker Compose
Placez-vous dans le dossier de compose.yaml.
- Si l'étiquette de l'image est figée, par exemple
nginx:1.26, changez-la pour la nouvelle version. Les bases de données font exception : un PostgreSQL d'une version majeure plus récente refuse de démarrer sur les données de la précédente. Exportez la base, montez la nouvelle version sur un volume neuf, puis importez l'export. docker compose pulltélécharge les nouvelles images.docker compose up -drecrée seulement les conteneurs dont l'image ou la configuration a changé.docker compose logs -fvous montre le démarrage : attendez qu'il soit terminé avant de déclarer la mise à jour réussie.docker image prunesupprime ensuite les anciennes images devenues sans étiquette.
Les commandes de Compose sont expliquées dans Docker Compose : décrire et lancer vos conteneurs.
Avec docker run
Un conteneur lancé à la main doit être recréé avec exactement les mêmes options : nom, ports, volumes, variables, politique de redémarrage. Si vous ne les avez plus, docker inspect nom les contient toutes. Dans l'exemple, appli est le nom du conteneur et editeur/appli:2 son image, deux noms à remplacer par les vôtres :
docker pull editeur/appli:2télécharge la nouvelle version de l'image pour cette étiquette.docker stop appliarrête l'ancien conteneur.docker rm applile supprime. Ses volumes nommés restent intacts : la documentation précise quedocker rm, même avec-v, ne supprime jamais un volume nommé.- Relancez la même commande
docker runqu'à l'origine, avec la même image. docker logs -f applivérifie le démarrage.
Cette recopie à la main est la principale source d'erreur. Si le conteneur doit vivre longtemps, passez-le en compose.yaml : sa configuration est alors écrite une fois, et la mise à jour se fait en deux commandes.
Sauvegarder un volume
La page des volumes de Docker donne une méthode qui ne demande aucun outil sur le serveur : un conteneur temporaire monte le volume et l'archive dans le dossier courant. Arrêtez d'abord l'application, pour que ses fichiers ne changent pas pendant la copie :
docker stop appli
docker run --rm --volumes-from appli -v $(pwd):/backup ubuntu tar cvf /backup/appli.tar /donnees
docker start appli
Remplacez /donnees par le chemin du volume dans le conteneur, lu dans la section Mounts de docker inspect. Pour une base de données, un export par son propre outil, comme pg_dumpall pour PostgreSQL, est plus sûr qu'une copie de fichiers.
Revenir en arrière
Si la nouvelle version ne démarre pas, remettez l'étiquette notée avant la mise à jour, puis recréez le conteneur. Cela suffit tant que l'application n'a pas modifié ses données. Si elle a migré sa base au démarrage, l'ancienne version risque de ne plus la lire : restaurez alors la sauvegarde du volume avant de relancer l'ancienne image.
Choisir son étiquette
- Une étiquette majeure, comme
:1ou:17, reçoit les correctifs de la version sans changer de version majeure à votre insu. latestchange de version majeure dès que l'éditeur en publie une : une simple mise à jour peut alors casser l'application.- Une empreinte,
image@sha256:…, désigne une image exacte, qui ne bouge plus. La référence de Compose accepte cette forme dans le champimage.
Sur un VPS Hubspace
Docker et docker compose sont installés à la livraison. Les mises à jour automatiques de la nuit portent sur le système, pas sur vos images : vos conteneurs se mettent à jour quand vous le décidez, et le serveur n'étant pas managé, ce choix vous revient. Avant une version majeure, lancez aussi une sauvegarde depuis l'onglet « Backups » de votre espace client. Elle couvre le disque du serveur, donc les volumes Docker qui y vivent, mais pas le disque supplémentaire monté sur /mnt/data : des données rangées là demandent leur propre copie. Pour les commandes de base, voir Les commandes Docker essentielles.
Questions fréquentes
Mes données sont-elles perdues quand je supprime le conteneur ?
Non, si elles sont dans un volume nommé ou un dossier du serveur monté dans le conteneur. Tout ce qui est écrit ailleurs dans le conteneur disparaît avec lui.
Faut-il mettre à jour les conteneurs automatiquement ?
C'est possible, mais une mise à jour qui casse l'application la nuit passe inaperçue jusqu'au matin. Pour une application qui compte, une mise à jour à la main, après lecture des notes de version et avec une sauvegarde, reste plus sûre.
Comment savoir si une nouvelle version existe ?
Les notes de version de l'application, sur son dépôt ou son site, l'annoncent. docker compose pull télécharge aussi toute nouvelle image publiée sous l'étiquette que vous utilisez.
Articles liés
- Installer Docker sur Ubuntu ou Debian, pas à pasInstaller Docker Engine et Docker Compose sur Ubuntu 24.04, 26.04 ou Debian 13 depuis le dépôt officiel, l'utiliser sans sudo et vérifier que tout fonctionne.
- Docker Compose : décrire et lancer vos conteneursDocker Compose expliqué : écrire un fichier compose.yaml, lancer et arrêter vos services, lire les journaux et mettre à jour une application sur un serveur.
- Commandes Docker : les essentielles à connaîtreLes commandes Docker essentielles : lister les conteneurs, lire leurs journaux, entrer dans un conteneur, gérer les images et libérer de la place sans risque.