Kapittel 6 · 6.4
Oppdatere containere, rydde opp og begrense logger
Oppdatere
En container oppdaterer seg ikke selv. Du henter de nye imagene og starter containerne på nytt:
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo docker compose pull
anna@web1:/srv/diensten$ sudo docker compose up -d
Bare containerne med et nytt image blir laget på nytt. Dataene dine ligger i volumer og blir tatt vare på.
- Les utgivelsesnotatene til appen før en stor oppdatering. Noen ganger må du endre noe først.
- Ta en sikkerhetskopi av volumene før en oppdatering (se Ta med databaser og Docker-volumer på riktig måte), eller i det minste et snapshot.
- En fast versjon i taggen, som
vaultwarden/server:1.37.5, hindrer overraskelser. Da øker du den selv. Medlatestfår du den nyeste ved hverpull.
Rydde opp
Gamle images blir liggende på disken din. Sjekk hvor mye plass Docker bruker, og rydd opp:
anna@web1:~$ sudo docker system df
anna@web1:~$ sudo docker image prune
docker image prune fjerner bare images uten navn som ikke lenger hører til noe. Med -a fjerner den alle images som ingen container bruker.
Merk: Vær forsiktig med docker volume prune og docker system prune --volumes. Med dem kan du slette data du fortsatt trenger.
Begrense logger
Docker lagrer utdataene fra hver container i en loggfil som som standard vokser uten grense. Sett en grense i /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
Grensen gjelder bare for containere som lages etterpå. Derfor lager du dem på nytt.
Stoppe og fjerne
| Kommando | Hva gjør den? |
|---|---|
sudo docker compose stop | Stopper containere, sletter ingenting |
sudo docker compose down | Fjerner containere og nettverk, volumene blir værende |
sudo docker compose down -v | Fjerner også volumene: alle dataene dine er borte |
