Patchen van een Docker-host¶
Machinevertaling van het Franse origineel.
Updates toepassen zonder de containers te stoppen.
Principe¶
Beveiligingsupdates worden standaard toegepast, zonder voorafgaande validatie. Wat wordt gecontroleerd, is wat er na gebeurt: welke services waren afhankelijk van het geüpdatete pakket, en zijn ze correct opgestart?
De zeven Linux-hosts in de omgeving worden 's nachts automatisch gepatcht (op 2026-10-06: vm-claude, vm-docker, vm-addons, vm-agents, vm-compute-01, vm-compute-02, vps-fr-ovh; de hypervisor-stack zelf wordt handmatig gepatcht); de herstarts, wanneer nodig, vinden plaats tussen 00:05 en 03:00. Een verwijderd pakket genereert een notificatie die het vervangen aangeeft, niet alleen het verwijderen.
Handmatig proces¶
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 kan een verborgen herstart van dockerd zijn
Op een host waar pakket docker-ce wordt geüpdatet, start de update de demon — en dus, volgens het herstartbeleid, alles wat erop draait. Op vm-compute-01, die een GPU en ongeveer vijftig containers heeft, is dit nooit onschuldig.
Controleer vooraf: apt list --upgradable | grep -E 'docker|containerd'.
Na-controle¶
# 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'"
Een grote versie-update schakelt externe repositories uit
Een do-release-upgrade schakelt de bestanden .list uit repositories uit door ze te hernoemen naar .save. Dit is hier geconstateerd: de Docker- en Tailscale-repositories bleven drie maanden uitgeschakeld, zonder enige waarschuwing — de machine werd als up-to-date beschouwd, en dat was ook het geval, voor de repositories die nog actief waren.
Na elke versie-update:
Wat andere dingen opnieuw opstart¶
Voordat je een patch installeert, moet je nadenken over welke diensten afhankelijk zijn van de betreffende service. Een concreet voorbeeld: Het opnieuw opstarten van de VPN-container van de downloadgroep, stopt het netwerk van alle containers die dezelfde netwerkstack gebruiken – deze starten niet automatisch opnieuw op, en docker ps laat zien dat ze actief zijn.
Dernière vérification de cette page : 2026-09-08