Hoofdstuk 6 · 6.4
Containers bijwerken, opruimen en logs beperken
Bijwerken
Een container werkt zichzelf niet bij. Je haalt de nieuwe images op en start de containers opnieuw:
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo docker compose pull
anna@web1:/srv/diensten$ sudo docker compose up -d
Alleen de containers met een nieuw image worden opnieuw gemaakt. Je gegevens staan in volumes en blijven bewaard.
- Lees vóór een grote update de release notes van de app. Soms moet je eerst iets aanpassen.
- Maak vóór een update een back-up van de volumes (zie Databases en Docker-volumes goed meenemen), of in elk geval een snapshot.
- Een vaste versie in de tag, zoals
vaultwarden/server:1.37.5, voorkomt verrassingen. Je verhoogt hem dan zelf. Metlatestkrijg je bij elkepullde nieuwste.
Opruimen
Oude images blijven op je schijf staan. Kijk hoeveel ruimte Docker gebruikt en ruim op:
anna@web1:~$ sudo docker system df
anna@web1:~$ sudo docker image prune
docker image prune verwijdert alleen images zonder naam die nergens meer bij horen. Met -a verwijdert hij alle images die geen container gebruikt.
Let op: Wees voorzichtig met docker volume prune en docker system prune --volumes. Daarmee kun je gegevens weggooien die je nog nodig hebt.
Logs beperken
Docker bewaart de uitvoer van elke container in een logbestand dat standaard onbeperkt groeit. Zet een grens in /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
anna@web1:~$ sudo systemctl restart docker
anna@web1:~$ cd /srv/diensten && sudo docker compose up -d --force-recreate
De grens geldt alleen voor containers die daarna worden gemaakt; daarom maak je ze opnieuw.
Stoppen en weghalen
| Commando | Wat doet het? |
|---|---|
sudo docker compose stop | Containers stoppen, niets weggooien |
sudo docker compose down | Containers en netwerk weghalen; volumes blijven |
sudo docker compose down -v | Ook de volumes weghalen: al je gegevens zijn weg |
