# Kuidas kasutada Docker prune'i – juhend näidetega

Docker `prune` **eemaldab mittevajalikud objektid**, nagu peatatud konteinerid, kasutamata mahud ning vanad võrgud ja pildid. See aitab optimeerida kõvaketta kasutamist ja vabastab salvestusruumi.

## Mis on Docker `prune`?

Docker `prune` või `system prune` on kasulik, et **süstemaatiliselt puhastada** enam mittevajalikud Docker-ressursid, aidates teil vabastada mälu. Kui Docker-konteinerid, pildid, võrgud ja mahud jäävad pikaks ajaks kasutamata, võivad need hõivata märkimisväärse koguse kettaruumi. Versiooniga `prune` saate need kasutamata ressursid kiiresti kõrvaldada, hoides süsteemi puhtana ja tagades selle parima võimaliku jõudluse.

Eelkõige **arenduskeskkondades**, kus luuakse ja testitakse sageli uusi konteinerid, võib koguneda märkimisväärne hulk vananenud objekte. Docker `prune` eemaldab tõhusalt mitte ainult kasutamata konteinerid ja kujutised, vaid ka võrgud ja mahud, mida enam vaja ei ole. See lihtsustab Docker-ressursside haldamist ja vähendab süsteemi ummistumise ja ülekoormuse riski.

## Milleks kasutatakse Docker `prune`?

Käsk `prune` sobib mitmesugusteks olukordadeks igapäevases töös Dockeriga. Allpool on loetletud neli tüüpilist kasutussituatsiooni.

**Tööprotsesside optimeerimine:** Docker-keskkondi kasutatakse sageli arendustöös, testimisel ja tootmiskeskkonnas. Ilma regulaarse puhastamiseta võib see kaasa tuua tarbetute ressursside kiire kuhjumise. Selline ülekoormus mitte ainult ei suurenda mälu kasutust, vaid võib ka negatiivselt mõjutada süsteemi jõudlust. Eemaldades kasutamata ressursid, võimaldab Docker `prune` süsteemiressursse tõhusamalt kasutada. See on eriti oluline pilvepõhistes keskkondades, kus kulud suurenevad koos salvestus- ja arvutusressursside nõudluse kasvuga.

**Turvalisuse suurendamine:** üleliigsed ja vananenud Docker-ressursid võivad kujutada endast turvariski. Docker `prune` eemaldab kasutamata konteinerid, pildid, võrgud ja mahud, vähendades sellega ohtu, et vananenud ja potentsiaalselt haavatavad komponendid jäävad kaitseta. Docker-ökosüsteemi korrashoidmine vähendab rünnakupinda ja parandab teie IT-infrastruktuuri üldist turvalisust.

**Jõudluse suurendamine:** Ülekoormatud Docker-keskkond võib takistada süsteemi jõudlust, kuna tarbib tarbetult ressursse, nagu protsessor ja mälu. Regulaarsed puhastustoimingud Docker `prune` abil vabastavad kettaruumi ning parandavad konteinerite haldamise ja käivitamise tõhusust. Selle tulemusena lühenevad laadimisaegad märkimisväärselt, rakenduste kasutuselevõtt kiireneb ja süsteemi üldine reageerimisvõime paraneb.

**Lihtsam hooldus:** Docker `prune` regulaarne kasutamine lihtsustab oluliselt Docker-keskkonna hooldust. Kasutamata ressursside eemaldamine vähendab arendajate haldusülesannete keerukust. See muudab aktiivsetest ja asjakohastest Docker-komponentidest ülevaate saamise lihtsamaks, kiirendades seeläbi veaotsingut. Selle tulemusena säästavad meeskonnad haldusele kuluvat aega ja saavad keskenduda rohkem rakenduste arendamisele ja täiustamisele, mitte aga üleliigsete ressursside haldamisele.

## Milline on Docker `prune` süntaks?

Kas teil on **Docker-keskkond** ja soovite ressursse puhastada, et vabastada kettaruumi ja lihtsustada haldamist? Sel juhul käivitage lihtsalt järgmine käsk, et pääseda ligi `prune` teenusele:

```bash
docker system prune
```

Vaikimisi tuvastab Docker peatatud konteinerid, kasutamata pildid, võrgud ja mahud, mida on võimalik kustutada, ning küsib enne eemaldamist kinnitust. Sisesta lihtsalt y ja vajuta Enter-klahvi, et jätkata. Alternatiivina võid kasutada valikut `-f`, et kinnitust vahele jätta ja puhastamine kohe käivitada:

```bash
docker system prune -f
```

**Nõuanne**: Enne Docker `prune` kasutamist on kasulik kontrollida, millised Docker-ressursid on süsteemis hetkel olemas. Kõigi konteinerite, piltide, võrkude ja mahtude loendi saamiseks täitke järgmised käsud:

```bash
docker ps -a
docker images
docker volume ls
docker network ls
```

### Docker `prune` valikuvõimalust

Järgmine tabel annab ülevaate versiooni `docker system prune` erinevatest valikutest.

<table>
  <thead>
    <tr>
      <th>Valik</th>
      <th>Kirjeldus</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`--all, -a`</td>
      <td>Eemaldab kõik kasutamata Docker-ressursid.</td>
    </tr>
    <tr>
      <td>`--force, -f`</td>
      <td>Teostab puhastuse ilma kasutaja kinnituseta.</td>
    </tr>
    <tr>
      <td>`--volumes`</td>
      <td>Eemaldab kasutamata mahud.</td>
    </tr>
    <tr>
      <td>`--filter, -f`</td>
      <td>Võimaldab eemaldatavaid ressursse kriteeriumide alusel filtreerida.</td>
    </tr>
    <tr>
      <td>`--help`</td>
      <td>Kuvab abi käsu kasutamise kohta.</td>
    </tr>
  </tbody>
</table>

## Kuidas kasutada Docker `prune` käsku

Docker pakub mitmesuguseid käske, mis võimaldavad teatud ressursitüüpe sihipäraselt puhastada. See annab sulle paindlikkuse otsustada, millised ressursid täpselt tuleks eemaldada.

### Docker `prune --filter`

**Filtri** abil saate määrata, millised ressursid eemaldatakse, näiteks konteinerid, pildid, võrgud ja mahud. See on kasulik arenduskeskkondades, kus luuakse palju ajutisi ressursse, mis võivad kiiresti ununeda.

**Üldine süntaks on järgmine:**

```bash
docker <command> prune --filter "filter=<value>"
```

**Erinevad filtreerimisvõimalused hõlmavad järgmist:**

- `until`: Sõelub ressursse nende loomise kuupäeva järgi. Siin võib `<duration>` olla numbriline väärtus koos ühikuga, näiteks `h` (tundi), `m` (minutit) või `s` (sekundit).

```bash
docker <command> prune --filter "until=<duration>"
```

**Näide:** Kustuta kõik peatatud konteinerid, mis on vanemad kui 24 tundi

```bash
docker container prune --filter "until=24h"
```

- `label`: Ressursside filtreerimine Docker-märgiste alusel

```bash
docker <command> prune --filter "label=<label>"
```

**Näide:** Kustuta kõik kasutamata mahud, millel on märge `mylabel`

```bash
docker volume prune --filter "label=mylabel"
```

- `dangling`: Kõrvaldab ressursid, mida konteiner enam ei kasuta

```bash
docker <command> prune --filter "dangling=true"
```

**Näide:** Eemalda kõik enam kasutamata (üles riputatud) pildid\*

```bash
docker image prune --filter "dangling=true"
```

Lisaks eespool nimetatud peamistele filtritele on olemas ka ressursi tüübist sõltuvad spetsiifilisemad filtreerimisvõimalused:

- `before` ja `since` piltide puhul: filtreerib pilte nende loomise kuupäeva alusel, kas enne või pärast teatud ajahetke
- `exited` konteinerite puhul: filtreerib konteinerid nende lõpetamisstaatuse alusel (näiteks `exited=0` edukalt lõpetatud konteinerite puhul)

### Kuidas eemaldada Docker-ressursse

**1. samm:** Avage oma arvutis terminal või käsureaaken.

**2. samm:** Käivita Docker `prune` süsteemi puhastamiseks:

```bash
docker {resource} prune
```

Asenda `{resource}` ressursitüübiga, mida soovid puhastada. Kehtivad väärtused on `container`, `image`, `volume` ja `network`.

### Kuidas Docker-konteinerid eemaldada

Vaikimisi ei **vabasta** Docker konteinerid automaatselt pärast nende elutsükli lõppu. On oluline regulaarselt kontrollida peatatud konteinerid ja vajaduse korral need eemaldada, et vabastada blokeeritud ressursid töötavate konteinerite jaoks. Selleks on kaks meetodit.

- `docker rm`: Käsk `docker rm` on mõeldud ühe või mitme Docker-konteineri **käsitsi** eemaldamiseks. Kui teate täpselt, millised konteinerid soovite kustutada, on see sobiv meetod. Peate selgesõnaliselt määrama eemaldatavate konteinerite ID-d või nimed, mis võimaldab teil kustutada keskkonnast ainult kindlad konteinerid, teisi mõjutamata.

Siin on näide, kuidas kustutada konteinerid nimedega `container1` ja `container2`:

```bash
docker rm container1 container2
```

- `docker container prune`: Seevastu käsk `docker container prune` on mõeldud mitme peatatud **konteineri korraga** eemaldamiseks. See meetod sobib eriti hästi ruumi kiireks ja tõhusaks vabastamiseks, kustutades kõik peatatud konteinerid, milles hetkel pole ühtegi töötavat protsessi.

```bash
docker container prune
```

Siin on loetletud kõik peatatud konteinerid ning Docker küsib enne nende eemaldamist kinnitust. See on väga praktiline keskkondades, kus luuakse palju ajutisi konteinereid, mis hiljem muutuvad mittevajalikuks.

Docker-keskkonna igapäevaseks haldamiseks ja hooldamiseks on soovitatav kasutada **regulaarselt** `docker container prune`, et peatatud konteinerid automaatselt puhastada. See lähenemisviis säästab aega ja tagab, et süsteemi jõudlust ei mõjutaks tarbetud ressursid. Seevastu `docker rm` on ideaalne konkreetsete konteinerite sihipäraseks ja kontrollitud kustutamiseks, olgu see siis testimise, arendamise või muude konkreetsete vajaduste tõttu.

### Kuidas Docker-pilte eemaldada

Docker-pildid on konteinerite ehituskivid. Aja jooksul võib neil tekkida palju erinevaid versioone ja märgiseid. Uute piltide loomisel või uuendamisel jäävad sageli alles vanad või kasutamata pildid, mida nimetatakse **„rippuvateks” piltideks**. Need võtavad süsteemis kettaruumi ja võivad mõjutada jõudlust, eriti kui selliseid pilte on palju.

Docker `prune` abil saate tuvastada ja eemaldada pildid, mida enam ei kasutata:

```bash
docker image prune [Options]
```

Siin on võimalikud **valikud** näiteks järgmised:

- `-a`, `--all`: See valik eemaldab mitte ainult riputatud pildid, vaid ka kasutamata pildid. Kasutamata pildid on need, millel pole enam sildistusi ja millele seetõttu ei saa sildistuste kaudu otseselt viidata.

```bash
docker image prune -a
```

- `-f`, `--force`: Vaikimisi küsib Docker enne piltide tegelikku kustutamist kinnitust. Valikute `-f` või `--force` abil saate selle kinnitamisetapi vahele jätta ja puhastamise kohe läbi viia.

```bash
docker image prune -f
```

### Kuidas eemaldada kõik Docker-pildid

Samuti saate kiiresti ja põhjalikult kustutada süsteemist kõik Docker-pildid, mida enam vaja ei ole. Docker `prune` tõhusaks kasutamiseks avage esmalt terminal või käsureaaken ja sisestage järgmine käsk:

```bash
docker image prune -a --force
```

Enne puhastamise alustamist veenduge, millised pildid kustutatakse. Valik `-a` võib kustutada kasutamata pildid, mida võite veel vajada.

### Kuidas eemaldada Docker-mahud

Mahtud on **püsivad** ja säilitavad andmeid isegi siis, kui nendega seotud konteiner enam ei tööta. Aja jooksul võivad need mahud kasvada ja tarbida tarbetult ressursse.

```bash
docker volume prune
```

See käsk otsib üles kõik mahud, millel pole aktiivseid konteinerid. Teile kuvatakse nimekiri mahudest, mida soovitatakse eemaldada, ning enne puhastamise käivitamist tuleb see kinnitada.

Seevastu on `docker volume rm` käsk, mis eemaldab konkreetselt üksikuid Docker-mahte. See võib olla kasulik, kui teate täpselt, millise mahu soovite kustutada, sõltumata sellest, kas konteiner seda hetkel kasutab. Konkreetse Docker-mahu eemaldamiseks kasutage käsku `docker volume rm`, millele järgneb mahu nimi või ID:

```bash
docker volume rm volume_name
```

Veenduge veel kord, et teate kustutatava mahu nime või ID-d, kuna see käsk kustutab andmed lõplikult ja seda ei saa tagasi võtta.

### Kuidas eemaldada Docker-võrke

Dockeris on võrgud oluline komponent, mis võimaldab konteineritel omavahel suhelda, olenemata sellest, kas need asuvad samal serveril või on jaotunud mitme serveri vahel. **Docker-võrgud** jäävad alles ka pärast konteinerite sulgemist või eemaldamist. Aja jooksul võib see kaasa tuua kasutamata võrkude kuhjumise, mis tarbivad tarbetult ressursse. Käsk `docker prune network` on lihtne viis nende kasutamata võrkude tuvastamiseks ja eemaldamiseks.

Käsk on järgmises vormis:

```bash
docker network prune [OPTIONS]
```

Docker koostab nimekirja kõikidest võrkudest, mida aktiivsed konteinerid enam ei kasuta või millele enam ei viidata. Enne võrkude tegelikku eemaldamist küsitakse kasutajalt kinnitust.

### Dockeri parimad tavad `prune`

- **Automaatne puhastamine:** Kasutage automaatskripte või tööriistu, et regulaarselt kustutada Docker-pildid, konteinerid ja mahud, mida enam vaja ei ole. See hoiab keskkonna korras ja optimeerib jõudlust.
- **Turvaparandused ja värskendused:** Kontrollige regulaarselt Docker-mootorite, host-operatsioonisüsteemide ja kõigi Docker-piltide turvaparandusi ja värskendusi. Nende komponentide ajakohasena hoidmine aitab vähendada võimalikke turvaauke.
- **Jälgimine ja logimine:** Kasutage jälgimis- ja logimisvahendeid, et jälgida konteinerite jõudlust, avastada ootamatuid sündmusi ja edendada ennetavat hooldust.
- **Välised varukoopiad:** kehtestage rutiinid Docker-konteinerites olevate oluliste andmete väliste varukoopiate tegemiseks, näiteks andmebaasi sisu või konfiguratsioonifailide regulaarne varundamine.
- **Käsitsi kontroll enne eemaldamist:** Kontrollige hoolikalt, kas te ei vaja enam teatud ressursse, enne kui need eemaldate. See vähendab juhusliku andmekao või käimasolevate protsesside katkemise riski.

Tip Kui olete Dockeriga alles alustamas, soovitame lugeda meie põhjalikku [Docker-juhendit](https://www.ionos.com/et-ee/digitalguide/server/seadistused/dockeri-juhend-paigaldamine-ja-esimesed-sammud/).


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/server/seadistused/docker-prune/](https://www.ionos.com/et-ee/digitalguide/server/seadistused/docker-prune/) for AI/LLM consumption.