Остановка и удаление образов с помощью docker compose down --rmi all
В предыдущих шагах мы научились останавливать и удалять контейнеры, сети и тома с помощью docker compose down
. По умолчанию docker compose down
не удаляет Docker-образы, которые использовались для создания контейнеров. В этом шаге мы узнаем, как удалять образы с помощью флага --rmi all
в команде docker compose down
.
Сначала давайте снова запустим сервисы. Убедитесь, что вы находитесь в директории ~/project/my-compose-app
.
cd ~/project/my-compose-app
Выполните команду docker compose up -d
для запуска сервисов в фоновом режиме.
docker-compose up -d
Это воссоздаст контейнеры и сеть.
Теперь проверим Docker-образы в вашей системе с помощью команды docker images
.
docker images
Вы должны увидеть образы nginx
и redis
, а также любые другие образы, которые могут быть в вашей системе.
Теперь остановим и удалим сервисы, сеть, тома, а также образы с помощью docker compose down --rmi all
.
docker-compose down --rmi all -v
Мы снова используем флаг -v
, чтобы гарантировать удаление томов. Флаг --rmi all
указывает Docker Compose удалить все образы, используемые любым сервисом в файле docker-compose.yml
, даже если они не имеют тегов.
Вы увидите вывод, показывающий остановку и удаление контейнеров, сети, томов и образов.
Для проверки удаления контейнеров используйте docker ps -a
.
docker ps -a
Контейнеры web
и redis
не должны отображаться в списке.
Для проверки удаления сети используйте docker network ls
.
docker network ls
Сеть my-compose-app_app-network
не должна быть в списке.
Для проверки удаления томов используйте docker volume ls
.
docker volume ls
Любые тома, связанные с этим проектом, не должны отображаться.
Наконец, для проверки удаления образов используйте docker images
.
docker images
Образы nginx
и redis
, которые использовались сервисами, больше не должны отображаться в выводе, если они не используются другими контейнерами или не имеют других тегов. docker compose down --rmi all
удаляет только те образы, которые не используются другими контейнерами.