Pokud potřebujete komplexní kontejnerovou platformu s otevřeným zdrojovým kódem pro vytvoření nezávislosti mezi aplikacemi a infrastrukturou, Docker je vaše nejbezpečnější sázka. Pokud jste měli možnost jej použít, již víte, jak je to schopné a snadné
Velké množství cloudových a IT společností jej považuje za mimořádně užitečné a jeho obliba je rozhodně zasloužená.
Přesto to nedělá to dokonalé. Důkazem jsou omezení, která přicházejí s odebíráním obrázků, svazků, kontejnerů a sítí. I když jsou tyto příkazy k dispozici, nejsou tak komplexní, jak by si uživatelé mohli přát.
Zde uvidíte hlavní problémy, se kterými se uživatelé setkávají, a také jejich řešení. Naučíte se, jak snadno odstranit obrázky a kontejnery.
Problém
Kontejnerová technologie poskytuje způsob vizualizace operačních systémů. Umožňuje zabalit aplikaci se vším, co je potřeba k jejímu spuštění, což jí umožňuje jednat nezávisle na operačním systému.
Obrázky kontejnerů jsou samostatné balíčky spustitelných aplikací, které obsahují vše, co je potřeba pro správné fungování aplikace. Každý obrázek obsahuje runtime, kód, konfigurace a systémové nástroje a knihovny.
Při používání Dockeru se tyto obrázky hromadí. Postupem času se nahromadí velké množství nevyužitých obrázků, objemů dat a kontejnerů, což vytváří přeplněné prostředí Dockeru. Když k tomu dojde, je nutné aktualizovat prostředí, aby platforma fungovala tak, jak má.
Existuje několik příkazů, které to mohou provést, takže se pojďme podívat na hlavní způsoby, jak uklidit prostředí Dockeru.
Odstranění obrázků Docker
Než budete moci odstranit nepotřebné obrázky, musíte je odlišit od užitečných. To lze snadno provést vypsáním všech obrázků, které váš systém obsahuje, pomocí příkazu správy obrázků.
Vypadá to takto:
$ obrázek dockeru #seznam naposledy vytvořených obrázků
Nebo
$ obrázek dockeru -a #seznam všech obrázků
S druhým příkazem uvidíte všechny obrázky dockeru. Jediné, co musíte udělat, je najít takzvané ‚visící obrázky‘. Toto jsou všechny obrázky Docker, které neobsahují značku. Bez tagu neexistuje žádné spojení s tagovanými obrázky, což znamená, že již nejsou užitečné.
Pomocí ID obrázku můžete odstranit jeden nebo více obrázků. Chcete-li to provést, použijte jeden z těchto příkazů:
$ docker rmi d65c4d6a3580 #odstranění jednoho obrázku
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #odstranit více obrázků
Pohodlnějším řešením je použití parametru filtru -f k zobrazení seznamu všech visících obrázků.
Chcete-li odstranit tyto obrazy a vyčistit místo na disku, použijte jeden z následujících příkazů:
$ docker image prořezávat #interaktivně odstranit visící obrázky
Nebo
$ docker rmi $(obrázky dockeru -q -f visící=true)
Podobným způsobem můžete odebrat všechny obrázky Docker. Vypište je pomocí příkazu $ docker images –a a poté je odstraňte pomocí následujícího:
$ (docker rmi $(docker images -a -q)
Další možností je odstranit obrázky, které se řídí určitým vzorem. Chcete-li je vypsat, použijte následující příkaz:
$ obrázky docker -a | grep "vzor"
Poté je odstraňte pomocí:
$ obrázky docker -a | grep "vzor" | awk '{print $3}' | xargs docker rmi
Odstranění kontejnerů
Další věc, kterou možná budete chtít udělat po práci s Dockerem po určitou dobu, je odstranit jeden nebo více kontejnerů.
Podobně jako při odstraňování obrázků je nejprve musíte vypsat pomocí následujícího příkazu:
$ docker ps
Nebo
$ docker ps -a
Když najdete kontejnery, které chcete odstranit, použijte k tomu jejich ID.
$ docker rm 0fd99ee0cb61 #odstraňte jeden kontejner
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #odstranění více kontejnerů
V případě, že kontejner, který se pokoušíte odstranit, běží, můžete jej zastavit pomocí následujícího příkazu:
$ docker stop 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Nakonec můžete zastavit a odstranit všechny nepotřebné kontejnery pomocí následujících příkazů:
$ docker stop $(docker ps -a -q) #zastavit všechny kontejnery
$ docker kontejner prořezávat #interaktivně odstranit všechny zastavené kontejnery
Nebo
$ docker rm $(docker ps -qa)
To vám umožní uvolnit cenné místo na disku a začít znovu.
Poslední slovo
Jak můžete vidět, odstranění obrázků a kontejnerů Docker není tak skličující, jak by mohlo. Nyní, když znáte tyto příkazy, můžete mít větší kontrolu nad svou zkušeností s Dockerem.
Toto jsou samozřejmě pouze některé příkazy a můžete použít celou řadu dalších kombinací. Přesto to budou dělat svou práci dobře, takže je klidně vyzkoušejte.