Kaip pašalinti „Docker“ vaizdus, konteinerius ir tomus


Docker yra atvirojo kodo, galinga, saugi, patikima ir efektyvi konteinerių platforma, kuri suteikia realią programų ir infrastruktūros nepriklausomybę. Jį plačiai naudoja IT ir debesijos įmonės, kad būtų galima lengvai kurti, įdiegti ir paleisti programas.

Konteineris yra operacinių sistemų vizualizavimo technologija, leidžianti programai supakuoti viską, ko reikia jai paleisti, kad ji veiktų nepriklausomai nuo operacinės sistemos. Konteinerio vaizdas yra savarankiškas vykdomasis programos paketas, kuriame yra viskas, ko reikia jai paleisti: kodas, vykdymo laikas, sistemos įrankiai ir bibliotekos, taip pat konfigūracijos.

Jau aprašėme seriją apie Docker, kurioje paaiškinama, kaip įdiegti „Docker“, paleisti programas į konteinerius ir automatiškai kurti „Docker“ vaizdus naudojant „Docker“ failą.

  1. Įdiekite „Docker“ ir išmokite pagrindinį konteinerių manipuliavimą „CentOS“ ir „RHEL 7/6“.
  2. Kaip įdiegti ir paleisti programas „Docker“ konteineriuose CentOS/RHEL 7/6
  3. Automatiškai kurkite ir konfigūruokite „Docker“ vaizdus naudodami „Dockerfile“ naudodami CentOS/RHEL 7/6
  4. Kaip nustatyti paprastą „Apache“ žiniatinklio serverį „Docker“ konteineryje

Šiame straipsnyje paaiškinsime, kaip „Linux“ sistemose pašalinti „Docker“ vaizdus, konteinerius ir tomus naudojant „Docker“ komandų eilutės įrankį.

Kaip pašalinti „Docker“ vaizdus

Prieš pašalindami bet kokius „Docker“ vaizdus, galite išvardyti visus sistemoje esančius vaizdus naudodami vaizdų tvarkymo komandą.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Žiūrėdami į išvestį toliau pateiktoje ekrano kopijoje, turime keletą vaizdų be žymos (vietoj jo rodomi ), jie vadinami „kabantys vaizdais“. Jie nebeturi jokio ryšio su jokiais pažymėtais vaizdais; jie nebenaudingi ir užima tik vietos diske.

Pavyzdžiui, galite pašalinti vieną ar daugiau senų arba nenaudojamų „Docker“ vaizdų naudodami vaizdo ID (kur d65c4d6a3580 yra vaizdo ID).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Galite pateikti kabančių vaizdų sąrašą (nepažymėtus vaizdus), naudodami filtro vėliavėlę -f, kaip parodyta.

docker images -f dangling=true	

Norėdami pašalinti visus kabančius vaizdus ir atgauti sugaištą vietą diske, naudokite bet kurią iš šių komandų.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Norėdami pašalinti visus, nesusijusius su jokiu konteineriu, naudokite šią komandą.

docker image prune -a 	

Kaip pašalinti „Docker“ konteinerius

Galite pradėti išvardydami visus savo sistemoje esančius dokerio konteinerius naudodami šią komandą.

docker ps
OR
docker ps -a  

Kai nustatysite konteinerį (-ius), kurį (-iuos) norite ištrinti, galite juos pašalinti, pavyzdžiui, naudodami jų ID.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Jei konteineris veikia, pirmiausia galite jį sustabdyti ir išimti, kaip parodyta.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Taip pat galite priverstinai pašalinti sudėtinį rodinį, kai jis veikia, pridėję vėliavėlę --force arba -f. Tai atsiųs jam <SIGKILL signalas, kaip parodyta.

docker rm -f 0fd99ee0cb61

Talpyklas taip pat galite išimti naudodami filtrus. Pavyzdžiui, norėdami pašalinti visus išvestus konteinerius, naudokite šią komandą.

docker rm $(docker ps -qa --filter "status=exited")

Norėdami sustabdyti ir pašalinti visus konteinerius, naudokite šias komandas.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Kaip pašalinti „Docker“ tomus

Kaip ir anksčiau, pradėkite išvardydami visus savo sistemoje esančius doko tomus naudodami apimties valdymo komandą, kaip parodyta.

docker volume ls

Norėdami pašalinti vieną ar daugiau tomų, naudokite šią komandą (atminkite, kad negalite pašalinti tomo, kurį naudoja konteineris).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Naudokite žymą -f, kad priverstinai pašalintumėte vieną ar daugiau tomų.

docker volume rm -f volume_ID

Norėdami pašalinti kabančius tomus, naudokite šią komandą.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Norėdami pašalinti visus nenaudojamus vietinius tomus, paleiskite šią komandą. Taip interaktyviai pašalinsite tomus.

docker volume prune	

Kaip pašalinti nenaudojamus ar kabančius vaizdus, konteinerius, tomus ir tinklus

Su šia komanda galite ištrinti visus kabančius ir nenurodytus duomenis, pvz., sustabdytus konteinerius, vaizdus be konteinerių. Pagal numatytuosius nustatymus tomai nepašalinami, kad nebūtų ištrinti svarbūs duomenys, jei šiuo metu nėra tomo naudojančio konteinerio.

docker system prune

Norėdami sumažinti apimtis, tiesiog pridėkite vėliavėlę --volumes prie toliau pateiktos komandos, kaip parodyta.

docker system prune --volumes

Pastaba: norėdami paleisti „Docker“ komandų eilutės įrankį be sudo komandos, turite, pavyzdžiui, pridėti naudotoją prie „Docker“ grupės.

sudo usermod -a -G docker aaronkilik

Norėdami gauti daugiau informacijos, žr. aukščiau pateiktų docker objektų valdymo komandų pagalbos puslapį.

docker help
docker image help   
docker container help   
docker volume help   

Tai kol kas viskas! Šiame straipsnyje paaiškinome, kaip pašalinti Docker vaizdus, konteinerius ir tomus naudojant docker komandinės eilutės įrankį. Jei turite klausimų ar norite pasidalinti mintimis, naudokite toliau pateiktą atsiliepimų formą ir susisiekite su mumis.