Anonim

Ако се нуждаете от цялостна платформа с контейнери с отворен код за създаване на независимост между приложенията и инфраструктурата, Docker е най-сигурният ви залог. Ако сте имали възможността да го използвате, вече знаете колко е способна и лесна за използване

Голям брой облачни и IT компании го намират за изключително полезен, а популярността му определено е заслужена.

Все пак това не го прави перфектен. Доказателството може да се види в ограниченията, които идват с премахването на изображения, обеми, контейнери и мрежи. Въпреки че тези команди са налични, те не са толкова изчерпателни, колкото потребителите могат да искат.

Тук ще видите основните проблеми, с които се сблъскват потребителите, както и решенията за тях. Ще научите как да премахвате изображения и контейнери по лесен начин.

Проблемът

Контейнерната технология осигурява начин за визуализация на операционните системи. Тя позволява на приложението да бъде пакетирано с всичко необходимо за неговото стартиране, което му позволява да действа независимо от ОС.

Изображенията на контейнерите са самостоятелни изпълними пакети от приложения, които включват всичко, което е необходимо за приложението да работи правилно. Време за изпълнение, код, конфигурации и системни инструменти и библиотеки се съдържат във всяко изображение.

Докато използвате Docker, тези изображения се натрупват. С течение на времето се натрупва голям брой неизползвани изображения, обеми от данни и контейнери, което създава препълнена среда на Докер. Когато това се случи, е необходимо да обновите средата, така че платформата да работи както трябва.

Има множество команди, които могат да направят това да се случи, така че нека да разгледаме основните начини за деблокиране на вашата Docker среда.

Премахване на Docker изображения

Преди да можете да премахнете ненужните изображения, трябва да ги разграничите от полезните. Това може да се направи лесно, като се изброят всички изображения, които вашата система съдържа, като използвате командата за управление на изображения.

Ето как изглежда:

$ docker image #list the most recently created images

Или

$ docker image -a #list all images

С втората команда ще видите всички ваши изображения на докер. Всичко, което трябва да направите, е да намерите така наречените „висящи изображения“. Това са всички изображения на Докер, които не съдържат маркер. Без маркера няма връзка с маркираните изображения, което означава, че те вече не са полезни.

Можете да изтриете едно или повече изображения, като използвате идентификатора на изображението. За целта използвайте една от тези команди:

$ docker rmi d65c4d6a3580 #remove a single image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

По-удобно решение е да използвате флага на филтъра -f, за да изброите всички висящи изображения.

За да изтриете тези изображения и да изчистите пространството на диска, използвайте една от следните команди:

$ docker image prune #interactively remove dangling images

Или

$ docker rmi $(docker images -q -f dangling=true)

Можете да премахнете всички изображения на Docker по подобен начин. Избройте ги с помощта на $ docker images –a командата, след което ги премахнете, като използвате следното:

$ (docker rmi $(docker images -a -q)

Друг вариант е да изтриете изображенията, които следват определен модел. За да ги изброите, използвайте следната команда:

$ docker images -a | grep "pattern"

След това ги премахнете, като използвате:

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

Премахване на контейнери

Друго нещо, което може да искате да направите след работа с Docker за определен период от време, е да изтриете един или повече контейнери.

Подобно на премахването на изображения, първо трябва да ги изброите, като използвате следната команда:

$ docker ps

Или

$ docker ps -a

Когато намерите контейнерите, които искате да премахнете, използвайте идентификационния им номер, за да го направите.

$ docker rm 0fd99ee0cb61 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers

В случай, че контейнерът, който се опитвате да премахнете, работи, можете да използвате следната команда, за да го спрете:

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

И накрая, можете да спрете и премахнете всички ненужни контейнери, като използвате следните команди:

$ docker stop $(docker ps -a -q) #stop all containers

$ docker container prune #interactively remove all stopped containers

Или

$ docker rm $(docker ps -qa)

Това ще ви позволи да освободите ценно дисково пространство и да стартирате свежо.

Заключителната дума

Както можете да видите, премахването на Docker изображения и контейнери не е толкова обезсърчително, колкото е възможно. Сега, когато знаете тези команди, можете да имате повече контрол върху вашия опит на Докер.

Разбира се, това са само някои от командите и можете да използвате най-различни други комбинации. Все пак те ще свършат добре работата, така че не се колебайте да ги изпробвате.

Как да изтриете всички изображения на докер