Patcher un hôte Docker¶
Appliquer les mises à jour de paquets sans coucher les conteneurs.
Principe¶
Les correctifs de sécurité s'appliquent par défaut, sans validation préalable. Ce qui se vérifie, c'est l'après : quels services dépendaient du paquet mis à jour, et se sont-ils bien relevés.
Les sept hôtes Linux du parc sont patchés la nuit de façon autonome (relevé du 2026-10-06 : vm-claude, vm-docker, vm-addons, vm-agents, vm-compute-01, vm-compute-02, vps-fr-ovh ; la pile de l'hyperviseur elle-même reste en patch manuel) ; les redémarrages, quand ils sont nécessaires, se posent entre 00:05 et 03:00. Un paquet écarté génère une notification qui porte le geste de remplacement, pas seulement l'écart.
Marche à suivre manuelle¶
HOST="ssh -p <port-ssh> <user>@vm-docker"
# 1. ce qui est en attente
$HOST "sudo apt-get update -qq && apt list --upgradable 2>/dev/null | tail -n +2"
# 2. appliquer
$HOST "sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade"
# 3. un redémarrage est-il nécessaire ?
$HOST "test -f /var/run/reboot-required && cat /var/run/reboot-required.pkgs || echo 'aucun redemarrage requis'"
# 4. quels services tournent encore sur des bibliothèques supprimées ?
$HOST "sudo needrestart -b"
apt upgrade peut être un redémarrage de dockerd déguisé
Sur un hôte où le paquet docker-ce est mis à jour, la mise à jour redémarre
le démon — et donc, selon la politique de redémarrage, tout ce qui tourne
dessus. Sur vm-compute-01, qui porte le GPU et une soixantaine de conteneurs,
ça n'est jamais anodin.
Vérifier avant : apt list --upgradable | grep -E 'docker|containerd'.
Contrôle après coup¶
# aucun conteneur ne doit être resté au tapis
$HOST "docker ps -a --filter 'status=exited' --format '{{.Names}}\t{{.Status}}'"
# et la politique de redémarrage doit être celle du fichier Compose
$HOST "docker inspect \$(docker ps -q) \
--format '{{.Name}} {{.HostConfig.RestartPolicy.Name}}' | grep -v 'on-failure'"
Une montée de version majeure désactive les dépôts tiers
Un do-release-upgrade désactive les fichiers .list des dépôts tiers en les
renommant en .save. Constaté ici : les dépôts Docker et Tailscale sont restés
désactivés trois mois, sans aucune alerte — la machine se disait à jour, et
l'était, pour les seuls dépôts encore actifs.
Après toute montée de version :
Ce qui redémarre autre chose que soi¶
Avant de patcher, se demander qui dépend du service touché. Un exemple concret :
redémarrer le conteneur VPN du groupe de téléchargement coupe le réseau de tous
les conteneurs qui partagent sa pile réseau — ils ne se relèvent pas seuls, et
docker ps les montre en marche.
Dernière vérification de cette page : 2026-09-08