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

Чтобы удалить все вышедшие контейнеры в Docker, вы можете использовать различные методы. Вот несколько примеров кода:

Метод 1. Использование интерфейса командной строки Docker

docker rm $(docker ps -aqf "status=exited")

Эта команда использует команду docker psс флагом -aqfдля фильтрации контейнеров по статусу (status=exited). Отфильтрованные идентификаторы контейнеров затем передаются команде docker rmдля их удаления.

Метод 2. Использование Docker Compose
Если вы используете Docker Compose для управления контейнерами, вы можете использовать следующую команду:

docker-compose rm -f

Флаг -fиспользуется для принудительного удаления контейнеров.

Метод 3. Использование Docker API с Python
Если вы предпочитаете использовать Docker API с Python, вы можете использовать библиотеку dockerдля достижения того же результата:

import docker
client = docker.from_env()
containers = client.containers.list(filters={"status": "exited"})
for container in containers:
    container.remove()

Этот фрагмент кода использует библиотеку dockerдля подключения к демону Docker, перечисляет все контейнеры со статусом «выход» с помощью параметра filters, а затем выполняет итерацию по контейнеры, чтобы удалить их.