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):
- 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ë:
- 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:
- docker images -a
Hiq:
- 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:
- docker images -f dangling=true
Hiq:
- 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:
- docker images -a | grep "pattern"
Hiq:
- 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:
- docker images -a
Hiq:
- 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:
- docker ps -a
Hiq:
- 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:
- 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:
- docker ps -a -f status=exited
Hiq:
- 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:
- docker ps -a -f status=exited -f status=created
Hiq:
- 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:
- docker ps -a | grep "pattern”
Hiq:
- 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:
- docker ps -a
Hiq:
- docker stop $(docker ps -a -q)
- 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:
- docker volume ls
Hiq:
- 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:
- docker volume ls -f dangling=true
Hiq:
- 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:
- 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.