Kaip pataisyti „Docker“, kad įrenginyje neliktų vietos?

How Do I Fix Docker No Space Left Device



Norėdami sėkmingai naudoti saugyklos tvarkykles, pirmiausia turite suprasti, kaip „Docker“ sukuria ir išsaugo vaizdus ir kaip konteineriai naudoja šiuos vaizdus. Šiuos duomenis galite naudoti priimdami pagrįstus sprendimus dėl duomenų iš savo programų gerinimo, vengdami našumo problemų. Saugyklos tvarkyklės leidžia įrašyti duomenis į sudėtinio rodinio įrašomą sluoksnį. Sunaikinus konteinerį, failai neišsaugomi, o skaitymo ir rašymo greitis yra lėtesnis nei vietinių failų programų našumas. Galbūt norėsite išvalyti sistemos kietąjį diską, kad atsisiųstumėte ir paleistumėte „Docker“ vaizdą. Tačiau, jei standžiajame diske nėra pakankamai vietos, galite gauti klaidą: įrenginyje nėra vietos. Kai jūsų serveris yra užkimštas šiukšlių failais, tai gali paveikti kompiuterio sulėtėjimą. Norėdami ją išspręsti, turėsite susigrąžinti tam tikrą vietos kiekį. „Dot“ debesies konteinerių varikliui reikia palyginti paprasto scenarijaus, kad būtų išvalyta saugykla. Ši problema paprastai rodo, kad „Docker“ trūksta vietos. /var/lib/docker saugo savo duomenis. Šiame kataloge turi būti pakankamai laisvos vietos bet kurioje failų sistemoje, kurioje jis sumontuotas. Šioje pamokoje sužinosite įvairių metodų, kaip „Docker“ pataisyti, kad įrenginyje neliktų vietos.

Būtinos sąlygos

Norėdami pataisyti „Docker“, kad įrenginyje neliktų vietos, turite naudoti „Ubuntu 20.04 Linux“ sistemą ir joje įdiegtą doką. Jei „Docker“ neįdiegta, tai galite padaryti naudodami žemiau pateiktą komandą terminale







$sudotinkamasdiegtidocker.io

„Docker“ taisymo būdas, kad įrenginyje neliktų vietos

Turite prisijungti naudodami „sudo“ vartotoją ir atidaryti komandų eilutės terminalą, patikrindami jį savo operacinės sistemos programų srityje arba naudodami sparčiuosius klavišus „Ctrl“+„Alt“+T. Atidarę, atlikite visus šiame straipsnyje aprašytus metodus.



1 metodas: „Docker“ sistemos slyva

„Docker“ sistemos apkarpymo komanda naudojama pašalinti arba ištrinti nenaudojamus objektus ar duomenis, įskaitant vaizdus, ​​konteinerius, tomus ir tinklus. Šie objektai neištrinami, nebent sąmoningai juos pašaliname; Nepaisant to, „Docker 17.06.1“ ar naujesnėje versijoje turime reikalauti „tūrio“ galimybės pašalinti tomus. Tai pašalina tiek kabančius, tiek nenurodytus vaizdus; tačiau tik pagal nutylėjimą pašalinami kabančios nuotraukos. „Docker“ sistemos slyvą galima naudoti tik su 1,25 ar naujesnės versijos kliento ir demono API versija. Dabar vykdykite nurodytą komandą:



$sudodokų sistemaslyvų





Norėdami sėkmingai įvykdyti, turite pateikti „sudo“ vartotojo slaptažodį. Vykdydami gausite tokį įspėjimą, kaip parodyta pridedamame paveikslėlyje. Norėdami tęsti procesą, turite įvesti y. Kai įgyvendiname komandą „docker system prune“, ji siunčia API užklausą „Docker“ demonui, kuris ieško visų nepanaudotų elementų pagrindiniame kompiuteryje ir pašalina juos iš sistemos. Kadangi ankstesnės „Docker“ versijos pašalino visus objektus, įskaitant tomus, buvo pridėta parinktis „tūriai“.

2 metodas: susikaupusių vaizdų pašalinimas

Norėdami tai padaryti, galite naudoti „Docker“ garsumo komandą. Kadangi tai ištrina bet kurį katalogą ar aplanką/var/lib/docker/volume, kuris nėra tomas, turite užtikrinti, kad ten nebūtų išsaugoti jokie svarbūs dokumentai. Kuriant „Docker“ atvaizdą paprastai yra daugybė vaizdų sluoksnių. Sluoksniai, kuriuose nėra jokios nuorodos į pažymėtą paveikslėlį, vadinami kabančiais vaizdais. Besikeičiantys vaizdai užima vietos saugykloje, bet nieko nedaro. Norėdami peržiūrėti visų tomų sąrašą, naudokite komandą:



$sudodoko tūrisls

Norėdami gauti visų kabančių tomų sąrašą, naudokite šią komandą:

$sudodoko tūrisls- qfkabančios=tiesa

Norėdami sėkmingai įvykdyti, turite pateikti „sudo“ vartotojo slaptažodį.

3 metodas: našlaičių tomų pašalinimas

Norėdami pradėti, turėsite ištrinti visus „Docker“ paliktus tomus. Dabar, norėdami atsikratyti visų paliktų tomų, vykdykite šią komandą:

$doko tūrisrm

Išvada:

Šiame vadove aptarėme keletą būdų, kaip pašalinti „Docker“, kad įrenginio klaidoje neliktų vietos. Dabar aš tikiu, kad jūs galite lengvai tai išspręsti savo pabaigoje, vadovaudamiesi šia pamoka.