Docker je v súčasnosti jedným z najpopulárnejších produktov v organizáciách. Veľmi uľahčuje proces správy aplikácií v kontajneroch. Docker poskytuje aplikáciám prenosnosť, výkon, flexibilitu, škálovateľnosť a izoláciu, keďže využíva kontajnery. Kontajnery sú prenosnejšie a vyžadujú menej zdrojov ako virtuálne počítače. Pri práci s Dockerom máte tendenciu hromadiť nadmerné množstvo nepoužívaných obrazov, zväzkov a kontajnerov. Tieto zdroje budú zahlcovať výstup a spotrebovávať veľa miesta na disku. V tomto návode sa dozviete, ako vyčistiť zdroje Dockeru a usporiadať váš server.
Vyčistiť všetko
Jediným príkazom môžete vyčistiť všetky zdroje Dockeru vrátane obrazov, zastavených kontajnerov, zväzkov a sietí. Môžete si vybrať jednu z možností nižšie:
Referencia: Osirelé zdroje sú tie, ktoré nesúvisia so žiadnym spusteným kontajnerom.
Možnosť 1:
|
1 |
docker system prune |
– všetky zastavené kontajnery
– všetky siete, ktoré nepoužíva aspoň jeden kontajner
– všetky osirelé obrazy
– celá osirelá vyrovnávacia pamäť zostavenia
Možnosť 2:
|
1 |
docker system prune -a |
– všetky zastavené kontajnery
– všetky siete, ktoré nepoužíva aspoň jeden kontajner
– všetky obrazy, s ktorými nie je spojený aspoň jeden kontajner
– celá vyrovnávacia pamäť zostavenia
Možnosť 3:
|
1 |
docker system prune -a --volumes |
– všetky zastavené kontajnery
– všetky siete, ktoré nepoužíva aspoň jeden kontajner
– všetky zväzky, ktoré nepoužíva aspoň jeden kontajner
– všetky obrazy, s ktorými nie je spojený aspoň jeden kontajner
– celá vyrovnávacia pamäť zostavenia

Odstraňovanie obrazov Docker
Ak chcete odstrániť konkrétny obraz, musíte poznať jeho ID obrazu. ID obrazu kontajnera Docker môžete nájsť pomocou príkazu “docker images”, ako je vysvetlené v našom návode na ako nainštalovať & prevádzkovať Docker na Ubuntu.
Zoznam obrazov:
|
1 |
docker images |
Odstrániť obraz:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
docker rmi <ID obrazu> Príklad: docker rmi 1d622ef86b13 Výstup: Untagged: ubuntu:latest Untagged: ubuntu@sha256:747d2dbbaaee995098c9792d99bd333c6783ce56150d1b11e333bbceed5c54d7 Deleted: sha256:1d622ef86b138c7e96d4f797bf5e4baca3249f030c575b9337638594f2b63f01 Deleted: sha256:279e836b58d9996b5715e82a97b024563f2b175e86a53176846684f0717661c3 Deleted: sha256:39865913f677c50ea236b68d81560d8fefe491661ce6e668fd331b4b680b1d47 Deleted: sha256:cac81188485e011e56459f1d9fc9936625a1b62cacdb4fcd3526e5f32e280387 Deleted: sha256:7789f1a3d4e9258fbe5469a8d657deb6aba168d86967063e9b80ac3e1154333f |
Odstraňovanie osirelých obrazov:
Keď zostavujete obraz Docker, vo všeobecnosti má niekoľko vrstiev obrazov. Osirelé obrazy sú vrstvy, ktoré nemajú žiadny vzťah k žiadnemu označenému obrazu. Osirelé obrazy spotrebúvajú miesto na disku, ale neslúžia žiadnemu účelu. Môžete ich zobraziť pomocou príkazu:
|
1 |
docker images -f dangling=true |
Tieto obrazy môžete odstrániť spustením nasledujúceho príkazu:
|
1 |
docker image prune |
Odstraňovanie obrazov na základe vzoru
Pomocou príkazu “grep” môžete ľahko nájsť obrazy na základe konkrétneho vzoru a potom ich odstrániť odovzdaním do príkazu “docker rmi” pomocou “awk”. Môžete použiť nasledujúce príkazy a v každom z nich nahradiť “pattern”:
Zoznam:
|
1 |
docker images -a | grep "pattern" |
Odstrániť:
|
1 |
docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi |
Odstrániť všetky obrazy
Všetky docker obrazy môžete vypísať pomocou príkazu:
|
1 |
docker images -a |
Keď sa rozhodnete ich všetky odstrániť, môžete na ich vymazanie použiť tento príkaz:
|
1 |
docker images -a -q | xargs docker rmi |
Odstraňovanie kontajnerov:
Teraz, keď ste vyčistili všetky nepotrebné obrazy, je čas vymazať niektoré z kontajnerov, ktoré už nie sú potrebné.
Na vypísanie kontajnerov môžete použiť príkaz:
|
1 |
docker ps -a |
Na odstránenie kontajnerov použite príkaz:
|
1 |
docker rm <<Názov kontajnera/ID kontajnera>> |
Dočasné spúšťanie kontajnerov
Ak chcete spustiť kontajner iba raz, môžete zvoliť jeho automatické odstránenie po ukončení. Môžete tak urobiť pomocou príkazu:
|
1 |
docker run --rm <<NázovObrazu>> |
Odstraňovanie ukončených kontajnerov
Ukončené kontajnery môžete filtrovať pomocou argumentu “-f”. Zoznam ukončených kontajnerov vypíšete pomocou príkazu:
|
1 |
docker ps -a -f status=exited |
Teraz, keď ste ich vyfiltrovali, odstráňte ich pomocou tohto príkazu:
|
1 |
docker rm $(docker ps -a -f status=exited -q) |
Odstraňovanie kontajnerov na základe vzoru
Kontajnery môžete ľahko nájsť na základe konkrétneho vzoru pomocou príkazu “grep” a potom ich odstrániť odovzdaním do príkazu “docker rm” pomocou “awk”. Môžete použiť nasledujúce príkazy a v každom z nich nahradiť “pattern”.
Zoznam:
|
1 |
docker ps -a | grep "pattern" |
Odstrániť:
|
1 |
docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm |
Zastavenie a odstránenie všetkých kontajnerov
Predtým si prezrite všetky kontajnery na vašom serveri tak, že ich vypíšete. Až keď si budete istí, že ich chcete vymazať, spustite nasledujúce príkazy:
Vypíšte kontajnery na kontrolu:
|
1 |
docker ps -a |
Zastaviť a odstrániť:
|
1 2 |
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) |
Odstraňovanie zväzkov
Odstránenie konkrétneho zväzku
Na odstránenie konkrétneho zväzku musíte poznať jeho názov. Ak ho chcete zistiť, môžete vypísať zoznam zväzkov.
Zoznam:
|
1 |
docker volume ls |
Odstrániť:
|
1 |
docker volume rm <<VolumeName>> |
Odstránenie osirotených zväzkov
Keď odstránite kontajner, zväzok, ktorý je k nemu pripojený, sa neodstráni automaticky. Takýto zväzok sa nazýva osirotený zväzok. Na vyhľadanie takýchto zväzkov použite argument filtra v príkaze:
|
1 |
docker volume ls -f dangling=true |
Na odstránenie všetkých takýchto osirotených zväzkov použite príkaz:
|
1 |
docker volume prune |
Odstránenie kontajnera a jeho nepomenovaného zväzku
Ak ste pri spúšťaní kontajnera vytvorili anonymný alebo nepomenovaný zväzok, môžete ho odstrániť spolu s kontajnerom pomocou jediného príkazu. Ak je však zväzok pomenovaný, vymaže sa iba kontajner.
|
1 |
docker rm -v <<ContainerName>> |
Teraz, keď máte tento ťahák, mali by ste byť pripravení vyčistiť prostriedky Dockeru, ktoré už na vašom serveri nie sú potrebné.
Príjemnú prácu!


Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.