Docker - как удалить containers, images, volumes, and networks

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск

Docker - как удалить containers, images, volumes, and networks

Вступление

Docker позволяет быстро строить, тестировать и развертывать приложения в виде переносимых контейнеров, которые могут работать практически на всех операционных системах
Docker не удаляет неиспользуемые объекты, такие как контейнеры, изображения, тома и сети, если вы явно не указали это сделать. Работая с Docker, вы можете легко накапливать большое количество неиспользуемых объектов, которые занимают значительное дисковое пространство, и загромождают выходные данные, создаваемые командами Docker.
Это руководство служит «шпаргалкой», чтобы помочь пользователям Docker организовать свою систему и освободить дисковое пространство, удалив неиспользуемые контейнеры Docker, образы, тома и сети.

Удаление всех неиспользуемых объектов Docker

Команда docker system prune удалит все остановленные контейнеры, все висячие образы и все неиспользуемые сети:

# docker system prune
WARNING! This will remove:
 - all stopped containers
 - all networks not used by at least one container
 - all dangling images
 - all dangling build cache
Are you sure you want to continue? [y/N]

Если вы также хотите удалить все неиспользуемые тома, используйте флаг --volumes:

# docker system prune --volumes
WARNING! This will remove:
 - all stopped containers
 - all networks not used by at least one container
 - all volumes not used by at least one container
 - all dangling images
 - all dangling build cache
Are you sure you want to continue? [y/N]

Можно использоват флаг -f или --force, чтобы пропустить приглашение.

# docker system prune --volumes -f

Удаление контейнеров Docker

Контейнеры Docker не удаляются автоматически при их остановке, если вы не запускаете контейнер с использованием флага --rm.
Для удаления одного или нескольких образов Docker используйте команду docker container rm, а затем CONTAINER ID, которые вы хотите удалить.
Можно получить список всех контейнеров, используя флаг -a в команде docker container ls:

# docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
92c8a0bb944e        jippi/pritunl       "/bin/start-pritunl …"   28 seconds ago      Up 27 seconds                           pritunl-server

Для удаление контенейнера используйте команду:

# docker container rm CONTAINER_ID1 CONTAINER_ID2
# docker container rm NAME1 NAME2

Если получаете ошибку:

Error response from daemon: You cannot remove a running container 92c8a0bb944ee0153e50fb09b6178af32812b05370edb1b03f8d537f71024018. Stop the container before attempting removal or force remove

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

# docker stop CONTAINER_ID1


Удалить все остановленные контейнеры Docker

Удалить контейнеры Docker используя filters

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

Удаление образов Docker

Удалить висячие образы Docker

Удалить все неиспользуемые образы Docker

Удалить образы Docker используя filters

Удаление томов Docker

Удалить все неиспользуемые тома Docker

Удаление сетей Docker

Удалить все неиспользуемые сети Docker

Удалить сети используя filters