Hvordan reparerer jeg Docker, at der ikke er mere plads på enheden?

How Do I Fix Docker No Space Left Device



For at kunne bruge lagringsdrivere med succes skal du først forstå, hvordan Docker opretter og gemmer billeder, og hvordan containere bruger disse billeder. Du kan bruge disse data til at træffe velinformerede beslutninger om bedste data fra dine applikationer, samtidig med at du undgår ydelsesproblemer. Lagerdrivere giver dig mulighed for at skrive data til din containers skrivbare lag. Efter at beholderen er ødelagt, gemmes filerne ikke, og læse- og skrivehastighederne er langsommere end indbygget filapplikationsydelse. Du vil måske rydde op i dit systems harddisk for at downloade og køre Docker -billedet. Men hvis du ikke har nok plads på din harddisk, kan du få fejlen: ingen plads tilbage på enheden. Når din server er tilstoppet med affaldsfiler, kan det påvirke pc'en til at bremse. Du bliver nødt til at genvinde en bestemt mængde plads for at løse det. Dot cloud -containermotoren kræver relativt enkel scripting for at rydde opbevaring. Dette problem angiver normalt, at Docker er ved at løbe tør for plads. /var/lib/docker er, hvor den gemmer sine data. Denne mappe skal have tilstrækkelig ledig plads på det filsystem, den er monteret på. I denne vejledning lærer du forskellige metoder til at reparere Docker, der ikke er mere plads på enheden.

Forudsætninger

For at reparere Docker ingen plads tilbage på enheden skal du bruge Ubuntu 20.04 Linux -systemet og dockerinstallation i det. Hvis Docker ikke er installeret, kan du gøre det ved hjælp af nedenstående kommando i terminalen







$sudopassendeinstalleredocker.io

Metode til at reparere Docker ingen plads tilbage på enheden

Du skal logge ind via sudo -bruger og åbne kommandolinjeterminalen ved at kontrollere den i dit operativsystems applikationsområde eller bruge Ctrl+Alt+T genvejstasten. Når den er åbnet, skal du følge alle disse metoder beskrevet i denne artikel.



Metode 1: Docker System Prune

Kommandoen ‘dockersystem beskæring’ bruges til at fjerne eller slette uudnyttede objekter eller data, herunder billeder, containere, mængder og netværk. Disse objekter slettes ikke, medmindre vi bevidst fjerner dem; alligevel skal vi i docker 17.06.1 eller højere kræve muligheden ‘–volumes’ for at fjerne mængder. Det eliminerer både dinglende og ureferencerede billeder; dog er det kun som standard, at dinglende billeder fjernes. ‘Dockersystembeskæringen’ kan kun bruges med en klient- og dæmon -API -version på 1,25 eller højere. Udfør nu den angivne kommando:



$sudodockersystembeskære





Du skal angive din sudo -brugeradgangskode for at kunne udføre den. Ved henrettelse får du følgende advarsel, som vist på det vedhæftede billede. Du skal indtaste y for at fortsætte processen. Når vi implementerer kommandoen 'docker system prune', sender den en API -anmodning til Docker -dæmonen, som leder efter alle ubrugte elementer på værten og udrydder dem fra systemet. Da tidligere versioner af Docker fjernede alle objekter, inklusive mængder, blev indstillingen ‘–volumes’ tilføjet.

Metode 2: Fjernelse af dinglende billeder

Volumenkommandoen i Docker kan bruges til at opnå dette. Da dette sletter enhver mappe eller mappe i/var/lib/docker/mængder, der ikke er en diskenhed, skal du sikre, at der ikke gemmes vigtige dokumenter der. Når du opretter et Docker -billede, er der normalt mange lag af billeder. Lag, der ikke har nogen reference til et mærket billede, kaldes dinglende billeder. Dinglende billeder optager lagerplads, men gør ingenting. For at se en liste over alle mængder skal du bruge kommandoen:



$sudodocker volumenls

Brug følgende kommando for at få en liste over alle hangende mængder:

$sudodocker volumenls–Qfdinglende=sand

Du skal angive din sudo -brugeradgangskode for at kunne udføre den.

Metode 3: Fjernelse af forældreløse mængder

For at komme i gang skal du slette alle forældreløse mængder i Docker. For nu at slippe af med alle forældreløse mængder skal du udføre følgende kommando:

$docker volumenrm

Konklusion:

I denne vejledning har vi diskuteret et par metoder til at eliminere Docker, der ikke er plads tilbage på enhedsfejl. Nu tror jeg, at du let kan tackle dette ved din afslutning ved at følge denne vejledning.