Anonim

Якщо вам потрібна комплексна платформа контейнерів з відкритим кодом для створення незалежності між додатками та інфраструктурою, 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-зображень та контейнерів не настільки грізно. Тепер, коли ви знаєте ці команди, ви можете мати більше контролю над своїм досвідом Докера.

Звичайно, це лише деякі команди, і ви можете використовувати безліч інших комбінацій. Однак вони зроблять цю роботу чудово, тому сміливо спробуйте їх.

Як видалити всі зображення докера