Hogyan kell metszeni a fel nem használt Docker-erőforrásokat – CloudSavvy IT

Avatar Gadam | 2021.03.09. 45 Views 0 Likes 0 Ratings

45 Views 0 Ratings Rate it

[ad_1]

A Docker segítségével gyorsan csomagolhatja alkalmazásait konténerként, lehetővé téve azok futtatását bárhonnan a laptopjától a nyilvános felhőig. A Docker egy ideig tartó használata után nagy számú felesleges tároló, kép és egyéb erőforrás halmozódhat fel. Így lehet rendbe tenni őket.

Dokkmunkás általában nem törli bármit, hacsak nem mondja meg. Ez azt jelenti, hogy a kihúzott képek és az Ön által létrehozott tárolók valószínűleg még mindig lógnak a rendszeren, még akkor is, ha már nem használják őket.

A túl sok felesleges erőforrás gyorsan túlzott lemezhasználathoz vezethet. Sokkal hosszabb kimenetet eredményez az erőforrások parancssorba történő felsorolásakor is, ami megnehezíti a keresett információk megtalálását.

A lógó erőforrások metszése

„Lógó” erőforrás minden olyan Docker-objektum, amely jelenleg nincs társítva tárolóhoz. Ez magában foglalja a Docker képeket, hálózatokat és köteteket, valamint a leállított tárolókat. Képek esetén a kép „lógó”, ha nincs címkézve, és nincs hivatkozása.

A Docker egyetlen takarítási parancsot nyújt az összes lógó erőforrás és a leállított konténer megtisztításához. Hacsak egy erőforrást nem használ a futás tároló, akkor törlődik.

docker system prune

A parancs futtatásával megjelenik egy megerősítő üzenet, amely felsorolja a törölni kívánt erőforrástípusokat. típus y és nyomja meg az Enter billentyűt a törlés folytatásához. A megerősítés kikapcsolásával a -f vagy --force zászló.

A kötetek alapértelmezés szerint nincsenek eltávolítva. A kötetek törlése veszélyeztetheti a tartós adatok elvesztését, amelyeket érdemes megőrizni. Ha el akarja távolítani azokat a köteteket, amelyek nincsenek társítva tárolóhoz, adja át a (z) --volumes zászló, hogy felvegyék őket a műveletbe.

Még több képadatot törölhet a -a (vagy --all) zászló. Ez arra készteti a Dockert, hogy törölje az összeset felhasználatlan képek, nem csak függő, hivatkozás nélküli képek. A rendszer minden képe törlődik, kivéve, ha van legalább egy futó tároló, amely megköveteli.

Szűrők használata metszéskor

Szűrők használhatók a prune parancs. A szűrés jobban szabályozza, hogy mi törlődik. Két szűrő támogatott jelenleg, until és timestamp.

  • until – A until szűrő megakadályozza az adott idő előtt létrehozott tárolók, képek és hálózatok törlését. Megadhatja az időt többféle formátumban, például egy Unix időbélyegző másodpercben (pl 1614890000) vagy dátum formátumú időbélyegző karakterlánc (pl 2021-03-04T20:30:00).
  • label – A label A filter korlátozza a törlést, így csak az adott címkével rendelkező erőforrások törlődnek. A címkék tárolókkal, képekkel, hálózatokkal és kötetekkel együtt használhatók. Bármelyikként megadhatja a címkéket label=key=value (az érték megegyezik az értékkel), label!=key=value (a kulcs nem egyenlő az értékkel), label=key (rendelkezik a megadott címkével) vagy label!=key (nem rendelkezik a megadott címkével).

Szűrő használatához adja át a --filter zászló:

docker system prune --filter until=2021-03-04T20:30:00 --filter label=foo=bar

Ez a parancs törli az erőforrásokat a foo=bar amelyek március 4-én 20:30 előtt jöttek létre. Bármely erőforrás, amely nem felel meg ennek a kritériumnak, érintetlen marad.

Az egyes erőforrástípusok metszése

Nem mindig kell használnia docker system prune. A Docker részletesebb metszési parancsokat is biztosít. Ezeket akkor lehet használni, ha csak egy típusú erőforrást szeretne eltávolítani.

A --force és --filter zászlók által támogatott docker system prune az alább felsorolt ​​egyes metszésparancsokra is vonatkozik.

Konténerek metszése

A Docker napi parancsai gyorsan nagy számú leállított tárolót eredményezhetnek. A probléma elkeseredett, ha ön docker build képek a --rm jelzőt, mivel ez a köztes felépítési rétegeket megtartja.

Fuss docker container prune kitakarítani a leállított edényeket. A leállított tárolók futás közben nem jelennek meg docker ps; hogy lássa őket, használnia kell docker ps -a hogy a rendszer összes tárolója megjelenjen.

Ha el akarja távolítani az egyes tartályokat, használja a docker rm parancs átadja a konténer azonosítóját. Ezt futással megszerezheti docker ps. Ha a tároló fut, akkor a --force flag törléséhez.

Képek metszése

Használat docker image prune hogy eltávolítson minden lógó képet. Tetszik docker system prune, ez hatással lesz azokra a képekre, amelyek nincsenek címkézve, vagy amelyekre egyetlen tároló sem hivatkozik.

Adja hozzá a -a zászló az összes fel nem használt kép törléséhez. Ez megtisztítja a rendszer minden olyan képét, amelyet legalább egy tároló nem igényel. A címkézett képek is szerepelnek benne, így gyorsan tisztázhatja a Docker Hub régi húzásait.

Egy adott képet eltávolíthat a docker rmi parancs:

docker rmi wordpress:latest

Ha egy képnek több címkéje van, docker rmi eltávolítja az adott címkét a kép tényleges törlése nélkül. Az utolsó címke eltávolítását követően törlődik.

Metszési hálózatok

A Docker hálózatokat nem törli automatikusan. Az idő múlásával nagy számmal végezhet. Ez feleslegessé teszi a rendszert redundáns virtuális híd eszközökkel és útválasztási táblázat bejegyzéseivel. Fuss docker network prune a fel nem használt hálózatok megsemmisítése és a gazdagép konfigurációjának visszaállítása.

Futtatással törölheti az egyes hálózatokat docker rm my-network.

Metszési kötetek

A Docker soha nem törli a kötetet. Tárolják a tárolók által létrehozott állandó adatokat, így a nem szándékos eltávolításnak pusztító következményei lehetnek. A köteteket több tároló is megoszthatja, vagy a jövőben egy másik tárolóhoz csatolható készenléti állapotban maradhat.

Ha fel akarja metszeni a fel nem használt köteteket, futtatnia kell docker volume prune. Ez törli azokat a köteteket, amelyeket legalább egy tároló nem használ. Az egyes köteteket a gombbal lehet eltávolítani docker volume rm my-volume.

A jövőbeli felhalmozódás megakadályozása

Csökkentheti a felesleges erőforrások jövőbeni felhalmozódásának kockázatát azáltal, hogy ügyel a továbbadásra --rm zászló to docker build és docker run parancsokat.

Ha együtt használják build, ez a köztes felépítési rétegek törlését fogja okozni ( <none>:<none> ban ben docker images) Kimenet. Ez a lemezhasználat jelentős csökkenését jelentheti. Rendszerint egy új közbenső réteg jön létre az egyes utasításokhoz Dockerfile. Általában eltávolíthatja őket, kivéve, ha később egy új kép kiindulópontjaként kívánja felhasználni őket.

Használata --rm val vel docker run amint kilép a parancsából, eltávolítja a tárolót. Ez ideális, ha bináris programot használ egyszer használatos tárolóban. Ne adja át --rm olyan konténerekhez, amelyeket örökké üzemeltetni kíván, vagy amelyeket igény szerint érdemes elindítani és leállítani. Ilyenek például a webes és adatbázis-kiszolgálók, amelyek egy szolgáltatást futtatnak a felhasználó által megadott parancs helyett.

Következtetés

A Docker-erőforrások metszése felszabadíthatja a lemezterületet, és elősegítheti a Docker CLI használatát. A felesleges tárolók és képek kiküszöbölése megkönnyíti a keresett erőforrások azonosítását.

Docker nem töröl semmit, hacsak nem mondja meg. Érdemes futni docker system prune rendszeresen tisztán tartani a rendszert. Létrehozhat egy cron feladatot, amely havonta futtatja a until szűrővel létrehozhat egy nemrégiben hozzáadott erőforrások megőrzési időszakát.

[ad_2]
Source link