Docker - как удалить containers, images, volumes, and networks: различия между версиями

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Перейти к:навигация, поиск
Строка 43: Строка 43:
 
  Error response from daemon: You cannot remove a running container 92c8a0bb944ee0153e50fb09b6178af32812b05370edb1b03f8d537f71024018. Stop the container before attempting removal or force remove
 
  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 stop CONTAINER_ID1

Версия 22:17, 13 февраля 2020

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