Online zetten: bijwerken en opruimen
Ubuntu installeert zijn eigen updates vanzelf (les 29). Maar je site draait op python:3.13-slim, en de voordeur op traefik:v3, en die komen van Docker Hub, niet van Ubuntu. Ook daarin worden gaten gevonden en gedicht, en die updates haal jij op.
De images bijwerken
Doe dit één keer per maand, op de server:
cd ~/gastenboek
docker compose build --pull
docker compose up -d
cd ~/traefik
docker compose pull
docker compose up -d
build --pullhaalt eerst de nieuwstepython:3.13-slim, en bouwt je image daarop opnieuw.pullhaalt de nieuwstetraefik:v3. Traefik bouw je niet zelf, dus daar is geenbuild.up -dvervangt een container alleen als zijn image veranderd is. Was er niets nieuws, dan zegt hijRunningen blijft alles staan.
Je blijft wel op Python 3.13 en op Traefik 3. Een nieuwe hoofdversie kies je zelf, in de Dockerfile en de compose.yaml, en die test je eerst op je laptop.
Oude images opruimen
Bij elke --build en elke pull blijft het vorige image staan, zonder naam. Na een paar maanden staan er tientallen, van elk honderden megabytes. Kijk hoeveel ruimte Docker gebruikt:
docker system df
Bij Images staat onder RECLAIMABLE wat er weg kan. Gooi de images zonder naam weg:
docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
Typ y. Dangling betekent: een image zonder naam, waar geen container meer van draait. Je site en Traefik blijven staan.
Er gaat iets mis
no space left on device
Oorzaak: de schijf van je server is vol, meestal door oude images.
Oplossing: kijk met docker system df waar de ruimte zit, en ruim op met docker image prune. Typ nooit docker volume prune of docker system prune --volumes op een server: die gooien ook volumes weg waar op dat moment geen container aan hangt.
De site start niet meer na het bijwerken
docker compose ps toont (unhealthy) of Restarting, en je hebt alleen de images bijgewerkt.
Oorzaak: in de nieuwe python:3.13-slim of in een package is iets veranderd waar je site niet tegen kan. Dat is zeldzaam, maar het kan.
Oplossing: lees de fout in docker compose logs --tail 50. Terug naar het oude image gaat niet zomaar: build gaf de nieuwe zijn naam, en het oude heeft er geen meer. Los het daarom op je laptop op: bouw daar met docker compose build --pull, zoek de fout, en zet een fix op de server zoals in les 35.
Opdrachten
Opdracht 1: Run - Bijwerken
Werk je images bij, en kijk met docker compose ps in ~/gastenboek en ~/traefik of alles weer draait.
Antwoord
Je site staat op (healthy) en Traefik op Up. Kwam er een nieuw image, dan is de container net opnieuw gemaakt: bij STATUS staat een paar seconden.
Opdracht 2: Run - Opruimen
Kijk met docker system df hoeveel ruimte de images gebruiken, ruim op met docker image prune, en kijk opnieuw. Hoeveel ruimte kwam er vrij?
Antwoord
docker image prune eindigt met Total reclaimed space: en een getal. Was er nog niets nieuws op Docker Hub en zette je weinig nieuwe versies op de server, dan is dat getal klein of 0B: er waren geen oude images.
Hierna volgen extra stappen: je containers bekijken in de browser, en de back-up die elke nacht vanzelf gebeurt.
Door naar les 40: beheren met Portainer.