Kapitola 6 · 6.4
Aktualizace kontejnerů, úklid a omezení logů
Aktualizace
Kontejner se sám neaktualizuje. Stáhněte nové images a kontejnery znovu spusťte:
anna@web1:~$ cd /srv/diensten
anna@web1:/srv/diensten$ sudo docker compose pull
anna@web1:/srv/diensten$ sudo docker compose up -d
Znovu se vytvoří pouze kontejnery s novým image. Vaše data jsou uložena ve svazcích (volumes) a zůstanou zachována.
- Před velkou aktualizací si přečtěte poznámky k vydání (release notes) aplikace. Někdy je nutné nejprve něco upravit.
- Před aktualizací vytvořte zálohu svazků (viz Správné zálohování databází a svazků Dockeru), nebo alespoň snapshot.
- Pevná verze v tagu, například
vaultwarden/server:1.37.5, Vás ochrání před nepříjemnými překvapeními. Verzi pak zvyšujete sami. Slatestdostanete při každémpullnejnovější verzi.
Úklid
Staré images zůstávají na disku. Zjistěte, kolik místa Docker zabírá, a ukliďte:
anna@web1:~$ sudo docker system df
anna@web1:~$ sudo docker image prune
docker image prune odstraní pouze images bez názvu, které už k ničemu nepatří. S -a odstraní všechny images, které nepoužívá žádný kontejner.
Pozor: Buďte opatrní s docker volume prune a docker system prune --volumes. Můžete tím smazat data, která ještě potřebujete.
Omezení logů
Docker ukládá výstup každého kontejneru do logovacího souboru, který ve výchozím nastavení roste bez omezení. 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í pouze pro kontejnery vytvořené poté, proto je vytvořte znovu.
Zastavení a odstranění
| Příkaz | Co dělá? |
|---|---|
sudo docker compose stop | Zastaví kontejnery, nic nesmaže |
sudo docker compose down | Odstraní kontejnery a síť; svazky zůstanou |
sudo docker compose down -v | Odstraní i svazky: všechna Vaše data budou pryč |
