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

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск
Строка 6: Строка 6:
 
Это руководство служит «шпаргалкой», чтобы помочь пользователям Docker организовать свою систему и освободить дисковое пространство, удалив неиспользуемые контейнеры Docker, образы, тома и сети.
 
Это руководство служит «шпаргалкой», чтобы помочь пользователям Docker организовать свою систему и освободить дисковое пространство, удалив неиспользуемые контейнеры Docker, образы, тома и сети.
  
====Удаление всех неиспользуемых объектов====
+
====Удаление всех неиспользуемых объектов Docker====
 
Команда '''docker system prune''' удалит все остановленные контейнеры, все висячие образы и все неиспользуемые сети:
 
Команда '''docker system prune''' удалит все остановленные контейнеры, все висячие образы и все неиспользуемые сети:
 
  # docker system prune
 
  # docker system prune
Строка 27: Строка 27:
 
Можно использоват флаг -f или --force, чтобы пропустить приглашение.
 
Можно использоват флаг -f или --force, чтобы пропустить приглашение.
 
  # docker system prune --volumes -f
 
  # docker system prune --volumes -f
 +
 +
====Удаление контейнеров Docker====
 +
Контейнеры Docker не удаляются автоматически при их остановке, если вы не запускаете контейнер с использованием флага --rm.<br />
 +
Для удаления одного или нескольких образов Docker используйте команду docker container rm, а затем CONTAINER ID, которые вы хотите удалить.<br />
 +
Можно получить список всех контейнеров, используя флаг -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

Версия 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