Predpoklad: Docker
In Docker , ak sme opustili kontajner bez toho, aby sme ho zastavili, potom ich musíme zastaviť manuálne, pretože sa nezastavil pri výstupe. Podobne v prípade obrázkov ich musíme odstrániť zhora nadol, pretože niektoré kontajnery alebo obrázky môžu závisieť od základných obrázkov, základný obrázok si môžeme kedykoľvek stiahnuť na. Preto je dobré odstrániť nechcené alebo visiace obrázky z aktuálneho zariadenia.
Ako odstrániť obrázky v Docker?
Odstrániť obrázok
Na vymazanie obrázku podľa ImageId/Name môžeme použiť nasledujúci príkaz. Ak sa chcete dozvedieť viac o tom, ako vytvoriť obrázok docker pomocou Dockerfile, pozrite si Koncept Dockerfile.
docker rmi>
Vynútiť odstránenie obrázka
Ak chcete vynútiť odstránenie obrázkov ukotvenia podľa ImageID/Name, môžeme použiť nasledujúci príkaz.
docker rmi -f>
Poznámka: Keď je kontajner spustený, nemôžeme obrázky odstrániť násilím alebo normálne.
Visiace obrázky
Visiace obrázky sú tie, ktoré sa nemapujú ani na úložisko, ani na značku. Použitý príkaz je odstrániť visiace obrázky. Ak sa chcete dozvedieť viac o tom, ako označovať obrázky Docker, pozrite si Značky obrázkov Docker .
docker image prune>
Odstránenie všetkých obrázkov
Môžeme odstrániť všetky obrázky v docker-machine, aby sme odstránili nežiaduci neporiadok a priestor v systéme. V každom prípade môžeme získať najnovšiu verziu alebo konkrétny obrázok verzie z registra dockerov alebo z vyrovnávacej pamäte.
docker rmi $(docker images -q)>

Ako odstrániť kontajnery v Dockeri
Pred odstránením kontajnerov musíme kontajner najskôr zastaviť, na čo použijeme príkaz.
docker stop>
Rozdiel medzi Docker Stop a Docker Kill
Docker stop najskôr vyšle signál SIGTERM a potom proces ukončí signálom SIGKILL a lehotou odkladu. Keď Docker kill odošle SIGKILL, okamžite ukončí proces.
- Zastaviť všetky spustené kontajnery: Na zastavenie nádob, ktoré nevystúpili. Môže sa to stať, keď príkaz použitý v obrázku Docker zostane spustený. Príkaz by mal byť ukončený a to následne zastaví kontajner. Ak chcete zastaviť kontajner, keď ste kontajner neopustili zastavením príkazu, musíte spustiť nasledujúci príkaz.
docker stop $(docker ps -aq)>
- Odstrániť kontajner: Ak je kontajner zastavený, potom môžeme použiť nasledujúci príkaz na odstránenie kontajnera.
docker rm>
- Vynútiť odstránenie kontajnera: Pomocou nižšie uvedeného príkazu môžeme vynútiť odstránenie kontajnerov, keď sú spustené, bez toho, aby sme ich zastavili.
docker rm -f>

Odstráňte všetky kontajnery
Ak chcete odstrániť všetky kontajnery z dokovacieho stroja, musíme získať ID všetkých kontajnerov. Pomocou príkazu môžeme jednoducho získať ID kontajnerov docker ps -aq , potom pomocou príkazu docker rm môžeme odstrániť všetky kontajnery v docker-machine.
docker rm $(docker ps -aq)>

Odstráňte všetky zastavené nádoby
Na odstránenie všetkých kontajnerov, ktoré sú zastavené/opustené, môžeme použiť filtre v argumente príkazu ps. Nemôžeme priamo odstrániť kontajner, ak nie je zastavený. Kontajnery, ktoré nie sú ukončené alebo sú spustené, môžeme zastaviť použitím argumentu -f k príkazu ps v dockeri, možnosť -f alebo –filter prevezme filter ako status=exited alebo status=running alebo name atď. Môžeme odfiltrovať a zastaviť konkrétne kontajnery podľa požiadavky.
docker rm $(docker ps -aq --filter status='exited')>
Po odfiltrovaní kontajnera, ktorý je spustený, môžeme použiť príkaz stop na zastavenie týchto kontajnerov pomocou -q, aby sme umlčali číselné identifikátory spojené s týmito kontajnermi.
docker stop $(docker ps --filter status=running -q)>
Tým sa zastavia všetky kontajnery, a tak môžeme kontajnery vybrať z dokovacieho stroja. Dokonca môžeme filtrovať kontajnery, ktoré sú tu zastavené, aby sme odstránili iba tie, ktorých stav je ukončený.
docker rm $(docker ps --filter status=exited -q)>

- Nasledujúci príkaz odstránil všetky kontajnery, ktoré sú v existujúcom stave. To znamená, že kontajnery sa zastavili.
docker container prune>
