Si të hiqni imazhet, kontejnerët dhe vëllimet e Docker


Prezantimi

Docker e bën të lehtë mbështjelljen e aplikacioneve dhe shërbimeve tuaja në kontejnerë, në mënyrë që t'i ekzekutoni ato kudo. Sidoqoftë, ndërsa punoni me Docker, është gjithashtu e lehtë të grumbulloni një numër të tepërt imazhesh, kontejnerësh dhe vëllimesh të dhënash të papërdorura që rrëmojnë daljen dhe konsumojnë hapësirën në disk.

Docker ju jep të gjitha mjetet që ju nevojiten për të pastruar sistemin tuaj nga linja e komandës. Ky udhëzues i stilit të fletës së mashtrimit ofron një referencë të shpejtë për komandat që janë të dobishme për lirimin e hapësirës në disk dhe për të mbajtur sistemin tuaj të organizuar duke hequr imazhet, kontejnerët dhe vëllimet e papërdorura Docker.

Si ta përdorni këtë udhëzues:

  • Ky udhëzues është në formatin e fletës së mashtrimit me fragmente të linjës së komandës që përmbajnë vetë.
  • Kalo te çdo seksion që ka lidhje me detyrën që po përpiqesh të plotësosh.

Shënim: Sintaksa e zëvendësimit të komandës, komandë $ (komandë), e përdorur në komanda është e disponueshme në shumë predha të njohura, të tilla si Windows Powershell.

Pastrimi i të gjitha imazheve, kontejnerëve, vëllimeve dhe rrjeteve të papërdorura ose të varura

Docker ofron një komandë të vetme që do të pastrojë çdo burim - imazhe, kontejnerë, vëllime dhe rrjete - që janë varur (të pa etiketuar ose të lidhur me një kontejner):

  1. docker system prune

Për të hequr gjithashtu çdo kontejner të ndaluar dhe të gjitha imazhet e papërdorura (jo vetëm imazhet e varura), shtoni flamurin -a në komandë:

  1. docker system prune -a

Heqja e imazheve të Docker

Hiqni një ose më shumë imazhe specifike

Përdorni komandën imazhe docker me flamurin -a për të gjetur ID-në e imazheve që dëshironi të hiqni. Kjo do t'ju tregojë çdo imazh, duke përfshirë shtresat e ndërmjetme të imazhit. Kur të keni gjetur imazhet që dëshironi të fshini, mund t'ia kaloni ID-në ose etiketën e tyre te docker rmi:

Lista:

  1. docker images -a

Hiq:

  1. docker rmi Image Image

Hiqni imazhet e varura

Imazhet e Docker përbëhen nga shtresa të shumta. Imazhet e varura janë shtresa që nuk kanë asnjë lidhje me asnjë imazh të etiketuar. Ata nuk i shërbejnë më një qëllimi dhe konsumojnë hapësirë në disk. Ato mund të lokalizohen duke shtuar flamurin e filtrit -f me një vlerë dangling=true në komandën imazhe docker. Kur të jeni të sigurt që dëshironi t'i fshini ato, mund të përdorni komandën docker image prune:

Shënim: Nëse krijoni një imazh pa etiketuar, imazhi do të shfaqet në listën e imazheve të varura sepse nuk ka lidhje me një imazh të etiketuar. Ju mund ta shmangni këtë situatë me komandën etiketë docker.

Lista:

  1. docker images -f dangling=true

Hiq:

  1. docker image prune

Heqja e imazheve sipas një modeli

Mund të gjeni të gjitha imazhet që përputhen me një model duke përdorur një kombinim të imazheve docker dhe awk për t'i kaluar ID-të te docker rmi. Vini re se këto shërbime nuk ofrohen nga Docker dhe nuk janë domosdoshmërisht të disponueshme në të gjitha sistemet:

Lista:

  1. docker images -a | grep "pattern"

Hiq:

  1. docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Hiq të gjitha imazhet

Të gjitha imazhet Docker në një sistem mund të renditen duke shtuar -a në komandën imazhe docker. Pasi të jeni të sigurt se doni t'i fshini të gjitha, mund të shtoni flamurin -q për të kaluar ID-në e imazhit te docker rmi:

Lista:

  1. docker images -a

Hiq:

  1. docker rmi $(docker images -a -q)

Heqja e kontejnerëve

Hiqni një ose më shumë kontejnerë të veçantë

Përdorni komandën docker ps me flamurin -a për të gjetur emrin ose ID-në e kontejnerëve që dëshironi të hiqni:

Lista:

  1. docker ps -a

Hiq:

  1. docker rm ID_or_Name ID_or_Name

Hiqni një enë pas daljes

Nëse e dini se kur krijoni një kontejner që nuk dëshironi ta mbani aty pasi të keni mbaruar, mund të ekzekutoni docker run --rm për ta fshirë automatikisht atë kur të dalë:

Ekzekuto dhe hiq:

  1. docker run --rm image_name

Hiqni të gjithë kontejnerët e dalë

Mund të lokalizosh kontejnerët duke përdorur docker ps -a dhe t'i filtrosh sipas statusit të tyre: krijuar, rifillon, punon, në pauzë, ose ka dalë. Për të rishikuar listën e kontejnerëve dalë, përdorni flamurin -f për të filtruar në bazë të statusit. Kur të keni verifikuar që dëshironi t'i hiqni ato kontejnerë, përdorni -q për t'i kaluar ID-të në komandën docker rm:

Lista:

  1. docker ps -a -f status=exited

Hiq:

  1. docker rm $(docker ps -a -f status=exited -q)

Hiqni kontejnerët duke përdorur më shumë se një filtër

Filtrat Docker mund të kombinohen duke përsëritur flamurin e filtrit me një vlerë shtesë. Kjo rezulton në një listë të kontejnerëve që plotësojnë secilin kusht. Për shembull, nëse dëshironi të fshini të gjithë kontejnerët e shënuar si krijuar (një gjendje që mund të rezultojë kur ekzekutoni një kontejner me një komandë të pavlefshme) ose si dalë, mund të përdorni dy filtra:

Lista:

  1. docker ps -a -f status=exited -f status=created

Hiq:

  1. docker rm $(docker ps -a -f status=exited -f status=created -q)

Hiqni kontejnerët sipas një modeli

Mund t'i gjeni të gjithë kontejnerët që përputhen me një model duke përdorur një kombinim të docker ps dhe awk dhe xargs për t'i dhënë ID-në docker rm. Vini re se këto shërbime nuk ofrohen nga Docker dhe nuk janë domosdoshmërisht të disponueshme në të gjitha sistemet:

Lista:

  1. docker ps -a | grep "pattern

Hiq:

  1. docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm

Ndaloni dhe hiqni të gjitha kontejnerët

Ju mund t'i rishikoni kontejnerët në sistemin tuaj me docker ps. Shtimi i flamurit -a do të shfaqë të gjithë kontejnerët. Kur të jeni të sigurt se doni t'i fshini, mund të shtoni flamurin -q për të furnizuar ID-të në docker stop dhe docker rm komandat:

Lista:

  1. docker ps -a

Hiq:

  1. docker stop $(docker ps -a -q)
  2. docker rm $(docker ps -a -q)

Heqja e vëllimeve

Hiqni një ose më shumë vëllime specifike - Docker 1.9 dhe më vonë

Përdorni komandën docker volume ls për të gjetur emrin e vëllimit ose emrat që dëshironi të fshini. Pastaj mund të hiqni një ose më shumë vëllime me komandën docker volume rm:

Lista:

  1. docker volume ls

Hiq:

  1. docker volume rm volume_name volume_name

Hiqni vëllimet e varura - Docker 1.9 dhe më vonë

Meqenëse qëllimi i vëllimeve është të ekzistojë i pavarur nga kontejnerët, kur një kontejner hiqet, një vëllim nuk hiqet automatikisht në të njëjtën kohë. Kur një vëllim ekziston dhe nuk është më i lidhur me ndonjë kontejner, quhet vëllim i varur. Për t'i lokalizuar për të konfirmuar se doni t'i hiqni, mund të përdorni komandën docker volume ls me një filtër për të kufizuar rezultatet në vëllime të varura. Kur të jeni të kënaqur me listën, mund t'i hiqni të gjitha me docker volume prune:

Lista:

  1. docker volume ls -f dangling=true

Hiq:

  1. docker volume prune

Hiqni një enë dhe vëllimin e saj

Nëse keni krijuar një vëllim pa emër, ai mund të fshihet në të njëjtën kohë me kontejnerin me flamurin -v. Vini re se kjo funksionon vetëm me vëllime të paemërtuar. Kur kontejneri hiqet me sukses, shfaqet ID e tij. Vini re se nuk i referohet heqjes së vëllimit. Nëse është pa emër, hiqet në heshtje nga sistemi. Nëse emërtohet, qëndron prezente në heshtje.

Hiq:

  1. docker rm -v container_name

konkluzioni

Ky udhëzues mbulon disa nga komandat e zakonshme të përdorura për të hequr imazhet, kontejnerët dhe vëllimet me Docker. Ka shumë kombinime dhe flamuj të tjerë që mund të përdoren me secilin. Për një udhëzues gjithëpërfshirës për atë që disponohet, shihni dokumentacionin Docker për volumi i docker rm. Nëse ka detyra të zakonshme pastrimi që dëshironi të shihni në udhëzues, ju lutemi pyesni ose bëni sugjerime në komente.

Për një vështrim të detajuar të përbërësve të ndryshëm të një kontejneri Docker, shikoni Ekosistemi Docker: Një hyrje në Komponentët e Përbashkët.