Docker - как удалить containers, images, volumes, and networks
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