Kapitola 6 · 6.4
Aktualizácia kontajnerov, upratovanie a obmedzenie logov
Aktualizácia
Kontajner sa sám neaktualizuje. Stiahnite nové images a kontajnery znova spustite:
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo docker compose pull
anna@web1:/srv/diensten$ sudo docker compose up -d
Znova sa vytvoria iba kontajnery s novým image. Vaše údaje sú uložené vo volumes a zostanú zachované.
- Pred veľkou aktualizáciou si prečítajte poznámky k vydaniu (release notes) aplikácie. Niekedy je potrebné najprv niečo upraviť.
- Pred aktualizáciou si zálohujte volumes (pozri Správne zálohovanie databáz a zväzkov Docker), alebo si aspoň vytvorte snapshot.
- Pevná verzia v tagu, napríklad
vaultwarden/server:1.37.5, zabráni nepríjemným prekvapeniam. Verziu potom zvyšujete sami. Slatestdostanete pri každompullnajnovšiu verziu.
Upratovanie
Staré images zostávajú na vašom disku. Pozrite sa, koľko miesta Docker zaberá, a upracte:
anna@web1:~$ sudo docker system df
anna@web1:~$ sudo docker image prune
docker image prune odstráni iba images bez názvu, ktoré už k ničomu nepatria. S -a odstráni všetky images, ktoré nepoužíva žiadny kontajner.
Upozornenie: Buďte opatrní s docker volume prune a docker system prune --volumes. Môžete nimi vymazať údaje, ktoré ešte potrebujete.
Obmedzenie logov
Docker ukladá výstup každého kontajnera do log súboru, ktorý štandardne rastie bez obmedzenia. Nastavte limit v /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
Limit platí iba pre kontajnery, ktoré sa vytvoria potom. Preto ich vytvorte znova.
Zastavenie a odstránenie
| Príkaz | Čo robí? |
|---|---|
sudo docker compose stop | Zastaví kontajnery, nič nevymaže |
sudo docker compose down | Odstráni kontajnery a sieť, volumes zostanú |
sudo docker compose down -v | Odstráni aj volumes: všetky vaše údaje budú preč |
