Поиск по сайту:

Как удалить образы, контейнеры и тома Docker


Docker — это мощная, безопасная, надежная и эффективная контейнерная платформа с открытым исходным кодом, обеспечивающая реалистичную независимость между приложениями и инфраструктурой. Он широко применяется ИТ-компаниями и облачными компаниями для упрощения создания, развертывания и запуска приложений.

Контейнер — это технология визуализации операционных систем, которая позволяет упаковать приложение со всем необходимым для его запуска, позволяя ему работать независимо от операционной системы. Образ контейнера — это автономный исполняемый пакет приложения, который включает в себя все необходимое для его запуска: код, среду выполнения, системные инструменты и библиотеки, а также конфигурации.

Мы уже рассмотрели серию статей о Docker, в которой объясняется, как устанавливать Docker, запускать приложения в контейнеры и автоматически создавать образы Docker с помощью dockerfile.

  1. Установите Docker и изучите базовые операции с контейнерами в CentOS и RHEL 7/6.
  2. Как развертывать и запускать приложения в контейнерах Docker на CentOS/RHEL 7/6
  3. Автоматическое создание и настройка образов Docker с помощью Dockerfile в CentOS/RHEL 7/6
  4. Как настроить простой веб-сервер Apache в контейнере Docker

В этой статье мы объясним, как удалить образы, контейнеры и тома Docker с помощью инструмента командной строки Docker в системах Linux.

Как удалить образы Docker

Прежде чем удалять какие-либо образы Docker, вы можете просмотреть все существующие образы в вашей системе с помощью команды управления изображениями.

docker image	        #list the most recently created images
OR
docker image -a 	#list all images

Глядя на результат на следующем снимке экрана, у нас есть несколько изображений без тега (вместо этого отображается ), они называются «висячие изображения». Они больше не имеют никакого отношения к изображениям с тегами; они больше бесполезны и только занимают дисковое пространство.

Вы можете удалить один или несколько старых или неиспользуемых образов Docker, например, используя ID изображения (где d65c4d6a3580 — идентификатор изображения).

docker rmi d65c4d6a3580 				#remove a single image
docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc	#remove multiple images

Вы можете перечислить висячие изображения (изображения без тегов), используя флаг фильтра -f, как показано.

docker images -f dangling=true	

Чтобы удалить все висящие изображения и освободить потраченное дисковое пространство, используйте любую из этих команд.

docker image prune		#interactively remove dangling images
OR
docker rmi $(docker images -q -f dangling=true)

Чтобы удалить все, что не связано ни с одним контейнером, используйте следующую команду.

docker image prune -a 	

Как удалить Docker-контейнеры

Вы можете начать с перечисления всех контейнеров докеров в вашей системе, используя следующую команду.

docker ps
OR
docker ps -a  

После того как вы определили контейнер(ы), которые хотите удалить, вы можете удалить их, например, используя их идентификатор.

docker rm 0fd99ee0cb61		#remove a single container
docker rm 0fd99ee0cb61 0fd99ee0cb61   #remove multiple containers

Если контейнер запущен, вы можете сначала остановить его и удалить, как показано.

docker stop 0fd99ee0cb61
docker rm -f 0fd99ee0cb61

Вы также можете принудительно удалить контейнер во время его работы, добавив флаг --force или -f, при этом ему будет отправлено --force или -f. сигналstrong>SIGKILL, как показано.

docker rm -f 0fd99ee0cb61

Вы также можете удалить контейнеры с помощью фильтров. Например, чтобы удалить все закрытые контейнеры, используйте эту команду.

docker rm $(docker ps -qa --filter "status=exited")

Чтобы остановить и удалить все контейнеры, используйте следующие команды.

docker stop $(docker ps -a -q)	#stop all containers
docker container prune		#interactively remove all stopped containers
OR
docker rm $(docker ps -qa)

Как удалить тома Docker

Как и раньше, начните с перечисления всех томов Docker в вашей системе с помощью команды управления томами, как показано.

docker volume ls

Чтобы удалить один или несколько томов, используйте следующую команду (обратите внимание, что вы не можете удалить том, который используется контейнером).

docker volume rm volume_ID 	           #remove a single volume 
docker volume rm volume_ID1 volume_ID2   #remove multiple volumes

Используйте флаг -f, чтобы принудительно удалить один или несколько томов.

docker volume rm -f volume_ID

Чтобы удалить висячие тома, используйте следующую команду.

docker volume rm $(docker volume ls  -q --filter dangling=true)

Чтобы удалить все неиспользуемые локальные тома, выполните следующую команду. Это позволит удалить тома в интерактивном режиме.

docker volume prune	

Как удалить неиспользуемые или висящие образы, контейнеры, тома и сети

С помощью этой единственной команды вы можете удалить все висящие и неиспользуемые данные, такие как остановленные контейнеры или изображения без контейнеров. По умолчанию тома не удаляются, чтобы предотвратить удаление важных данных, если в данный момент нет контейнера, использующего том.

docker system prune

Чтобы сократить тома, просто добавьте флаг --volumes к команде ниже, как показано ниже.

docker system prune --volumes

Примечание. Чтобы запустить инструмент командной строки Docker без команды sudo, вам необходимо, например, добавить пользователя в группу Docker.

sudo usermod -a -G docker aaronkilik

Для получения дополнительной информации см. страницу справки для приведенных выше команд управления объектами Docker.

docker help
docker image help   
docker container help   
docker volume help   

На данный момент это все! В этой статье мы объяснили, как удалить образы, контейнеры и тома Docker с помощью инструмента командной строки Docker. Если у вас есть какие-либо вопросы или мысли, которыми вы хотите поделиться, воспользуйтесь формой обратной связи ниже, чтобы связаться с нами.