Kuinka poistaa Docker-kontteja ja vapauttaa resursseja
Kontit vievät levytilaa ja resursseja isäntäjärjestelmässäsi. Poistamalla tarpeettomat kontit voit vapauttaa arvokasta tallennustilaa ja parantaa järjestelmän suorituskykyä.
Milloin Docker-kontit tulisi poistaa?
Docker-kontit ovat erillisiä, suoritettavia yksiköitä, jotka sisältävät sovelluksia ja niiden riippuvuuksia. Monissa tilanteissa on järkevää poistaa Docker-kontteja, jotta Docker-ympäristö olisi mahdollisimman tehokas, turvallinen ja hallittavissa.
Ensinnäkin sinun tulisi poistaa kontit, kun ne ovat täyttäneet tehtävänsä. Kun kontti on suorittanut sille määritetyn tehtävän tai prosessin onnistuneesti, ei ole järkevää pitää sitä ympäristössäsi. Näin vältetään tilanne, jossa käyttämättömät kontit sitovat resursseja ja vievät tilaa tarpeettomasti.
On myös hyvä poistaa kontit, joita ei ole aktiivisesti käytössä tai joita ei ole päivitetty pitkään aikaan. Tämä on erityisen tärkeää turvallisuusriskien minimoimiseksi, sillä vanhemmissa konteissa voi olla vanhentuneita ohjelmistoversioita tai tietoturva-aukkoja.
Jos olet huolissasi jonkin kontin turvallisuudesta tai epäilet, että sen turvallisuus on vaarantunut, sinun tulee poistaa se välittömästi. Sama koskee kontteja, joita ei voida käynnistää ristiriitojen tai muiden ongelmien vuoksi.
Kuinka poistaa yksi tai useampi Docker-kontti
Yhden tai useamman tietyn Docker-kontin poistaminen on tavallinen toimenpide, kun Docker-isäntäkoneelta halutaan poistaa tarpeettomia tai käyttämättömiä kontteja.
Vaihe 1: Luettele konttien tunnisteet tai nimet
Ensin sinun on selvitettävä niiden konttien tunnukset tai nimet, jotka haluat poistaa. Voit käyttää seuraavaa komentoa näyttääksesi luettelon kaikista käynnissä olevista ja pysäytetyistä konteista:
docker ps -abashVaihe 2: Poista säiliö
Voit kirjoittaa konttien tunnisteet tai nimet välilyönnillä erotettuina suoraan docker rm -komennon perään:
docker rm container_id_or_name1 container_id_or_name2bashKuinka poistaa Docker-kontti, kun ohjelma suljetaan
Jos haluat poistaa kontin automaattisesti sen lopetettua, aseta lippu --rm, kun käynnistät kontin komennolla docker run. Tämä lippu aiheuttaa sen, että kontti poistetaan automaattisesti heti, kun se on valmis.
docker run --rm image_namebashKuinka poistaa kaikki käynnissä olevat Docker-kontit
On myös mahdollista poistaa kaikki suljetut kontit kerralla suodattamalla kontit niiden tilan mukaan ja poistamalla ne rm -komennolla.
Vaihe 1: Luettele suljetut kontit
Vaihtoehdolla -f status=exited voit suodattaa konttiluettelon niin, että näkyvissä ovat vain suljetut kontit.
docker ps -a -f status=exitedbashVaihe 2: Poista käynnissä olevat kontit
Käytämme edellisen vaiheen tulosta saadaksemme lopetettujen konttien tunnisteet ja välitämme ne suoraan docker rm -komennolle.
docker rm $(docker ps -a -f status=exited -q)bashKuinka poistaa kaikki Docker-kontit, joissa on useampi kuin yksi suodatin
Voit poistaa Docker-kontit, joissa on useampi kuin yksi suodatin, käyttämällä komentoa docker ps yhdessä suodatinvaihtoehtojen kanssa ja välittämällä tulosteen komennolle docker rm.
Vaihe 1: Luettele säiliöt suodattimien avulla
Ensinnäkin syötämme komennon docker ps suodatusasetuksineen saadaksemme luettelon kontteista haluttujen kriteerien mukaisesti. created on toinen valittavissa oleva tila exited-tilan ohella. Kontit, joiden tila on created, ovat kontteja, jotka on luotu mutta joita ei ole vielä suoritettu.
docker ps -a -f status=exited -f status=createdbashVaihe 2: Poista Docker-kontti
Aivan kuten edellisessä esimerkissä, välitämme tuloksen arvoon docker rm.
docker rm $(docker ps -a -f status=exited -f status=created -q)bashKuinka poistaa Docker-kontteja tietyn kaavan mukaan
Kaikkien tietyn mallin mukaisien Docker-konttien etsiminen ja niiden poistaminen komentojen awk, xargs ja docker rm avulla on tehokas tapa poistaa kontteja valikoivasti.
Vaihe 1: Luettele kaikki säiliöt, joissa on kuvio
Jos käytät komentoa docker ps -a yhdessä komennon grep kanssa, saat näkyviin kaikki kontit, joiden nimet tai tunnisteet vastaavat tiettyä mallia. Voit esimerkiksi luetella kaikki kontit, joiden nimet alkavat merkkijonolla ”test-”:
docker ps -a | grep "test-"bashVaihe 2: Poista Docker-kontit
Komenolla awk voit valita tulostetusta tuloksesta tiettyjä sarakkeita. Tässä tapauksessa haluamme poimia ensimmäisen sarakkeen, joka sisältää konttien tunnisteet. Voimme käyttää xargs välittääksemme tunnisteet komennolle docker rmi ja poistaaksemme Docker-kontit.
docker ps -a | grep "test-" | awk '{print $1}' | xargs docker rmibashKuinka pysäyttää ja poistaa kaikki Docker-kontit
Voit pysäyttää ja poistaa kaikki järjestelmässäsi olevat aktiiviset ja passiiviset kontit kerralla. Tämä voi olla hyödyllistä, jos haluat puhdistaa Docker-ympäristösi perusteellisesti.
Vaihe 1: Luettele kaikki säiliöt
Kirjoita seuraava komento tarkistaaksesi konttien luettelon:
docker ps -abashVaihe 2: Pysäytä säiliöt
Kun olet valmis, lähetä komento numeroon docker stop. Tämä pysäyttää kaikki kontit.
docker stop $(docker ps -a -q)bashVaihe 3: Poista Docker-kontit
Kun kaikki kontit on pysäytetty, voit poistaa ne komennolla docker rm:
docker rm $(docker ps -a -q)bashToisin kuin tavalliset Docker-kontit, Docker-konttien volyymit ovat mekanismeja, jotka mahdollistavat tietojen pysyvyyden sekä niiden jakamisen konttien ja isäntäjärjestelmän välillä.
Digitaalisesta oppaastamme löydät muita Docker-oppaita, joissa kerrotaan muun muassa, miten Docker-tallennustila poistetaan ja miten Docker-kuva poistetaan.