Kā salabot Docker, ja ierīcē nav vietas?

How Do I Fix Docker No Space Left Device



Lai veiksmīgi izmantotu krātuves draiverus, vispirms ir jāsaprot, kā Docker izveido un saglabā attēlus un kā konteineri izmanto šos attēlus. Varat izmantot šos datus, lai pieņemtu apzinātus lēmumus par datu optimizēšanu no savām lietojumprogrammām, vienlaikus izvairoties no veiktspējas problēmām. Krātuves draiveri ļauj ierakstīt datus konteinera rakstāmajā slānī. Pēc konteinera iznīcināšanas faili netiek saglabāti, un lasīšanas un rakstīšanas ātrums ir lēnāks nekā vietējās failu lietojumprogrammas veiktspēja. Iespējams, vēlēsities iztīrīt sistēmas cieto disku, lai lejupielādētu un palaistu Docker attēlu. Tomēr, ja cietajā diskā nav pietiekami daudz vietas, varat saņemt kļūdu: ierīcē nav atstāta vieta. Ja jūsu serveris ir aizsērējis ar atkritumu failiem, tas var ietekmēt datora palēnināšanos. Lai to labotu, jums būs jāatgūst noteikts vietas daudzums. Dot mākonis konteinera dzinējs prasa salīdzinoši vienkāršu skriptu, lai notīrītu krātuvi. Šī problēma parasti norāda, ka Docker trūkst vietas. /var/lib/docker glabā savus datus. Šim direktorijam jābūt pietiekami daudz brīvas vietas jebkurā failu sistēmā, kurā tas ir uzstādīts. Šajā apmācībā jūs uzzināsit dažādas metodes, kā novērst Docker, ja ierīcē nav atstāta vieta.

Priekšnosacījumi

Lai labotu Docker, ierīcē nav atstāta vieta, jums jāizmanto Ubuntu 20.04 Linux sistēma un docker instalācija tajā. Ja Docker nav instalēts, varat to izdarīt, izmantojot zemāk uzskaitīto komandu terminālī







$sudotrāpīgsuzstādītdocker.io

Docker labošanas metode ierīcē nav atstāta vieta

Jums jāpiesakās, izmantojot sudo lietotāju, un jāatver komandrindas terminālis, pārbaudot to operētājsistēmas lietojumprogrammu apgabalā vai izmantojot īsinājumtaustiņu Ctrl+Alt+T. Pēc atvēršanas izpildiet visas šajā rakstā aprakstītās metodes.



1. metode: Docker sistēmas apgriešana

Komanda “docker system prune” tiek izmantota, lai likvidētu vai izdzēstu neizmantotus objektus vai datus, tostarp attēlus, konteinerus, sējumus un tīklus. Šie objekti netiek izdzēsti, ja vien mēs apzināti tos nenoņemam; tomēr docker 17.06.1 vai jaunākā versijā mums ir jāpieprasa iespēja “–sējums” noņemt sējumus. Tas novērš gan karājošos, gan neatsauktos attēlus; tomēr tikai noklusējuma attēli tiek noņemti. “Docker system prune” var izmantot tikai ar klienta un dēmona API versiju 1,25 vai jaunāku. Tagad izpildiet uzskaitīto komandu:



$sudodocker sistēmaplūmes





Lai tā tiktu veiksmīgi izpildīta, jums jānorāda sudo lietotāja parole. Pēc izpildes jūs saņemsit šādu brīdinājumu, kā parādīts pievienotajā attēlā. Lai turpinātu procesu, jums jāievada y. Kad mēs ieviešam komandu “docker system prune”, tā nosūta API pieprasījumu Docker dēmonam, kurš meklē visus neizmantotos vienumus saimniekdatorā un izdzēš tos no sistēmas. Tā kā iepriekšējās Docker versijas noņēma visus objektus, ieskaitot sējumus, tika pievienota opcija “ - apjomi”.

2. metode: izkrītošu attēlu noņemšana

Lai to paveiktu, var izmantot Docker skaļuma komandu. Tā kā tas izdzēš direktoriju vai mapi mapē/var/lib/docker/volume, kas nav sējums, jums ir jānodrošina, lai tur netiktu saglabāti svarīgi dokumenti. Veidojot Docker attēlu, parasti ir daudz attēlu slāņu. Slāņi, kuros nav norādes uz nevienu marķētu attēlu, tiek dēvēti par nokarātiem attēliem. Klejoši attēli aizņem krātuves vietu, bet neko nedara. Lai skatītu visu sējumu sarakstu, izmantojiet komandu:



$sudodocker apjomsls

Izmantojiet šo komandu, lai iegūtu visu piekārto skaļumu sarakstu:

$sudodocker apjomsls- qfkarājas=taisnība

Lai tā tiktu veiksmīgi izpildīta, jums jānorāda sudo lietotāja parole.

3. metode. Bāreņu apjomu noņemšana

Lai sāktu darbu, jums būs jāizdzēš visi bāreņu sējumi Docker. Tagad, lai atbrīvotos no visiem bāreņu sējumiem, izpildiet šādu komandu:

$docker apjomsrm

Secinājums:

Šajā rokasgrāmatā mēs esam apsprieduši dažas metodes, kā novērst Docker, ja ierīces kļūdā nav atstāta vieta. Tagad es uzskatu, ka jūs varat to viegli atrisināt, izpildot šo apmācību.