Фильтрация томов по статусу 'неиспользуемых' (dangling)
На этом этапе мы научимся фильтровать Docker-тома (Docker volumes) по их статусу "висячего" (dangling). Висящий том - это том, который в данный момент не подключен ни к одному контейнеру. Эти тома могут бесполезно расходовать дисковое пространство.
Для фильтрации висящих томов мы используем флаг --filter dangling=true.
Сначала создадим контейнер и подключим один из наших томов к нему. Мы будем использовать образ ubuntu. Если у вас нет образа ubuntu локально, Docker автоматически загрузит его.
docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600
Эта команда запускает контейнер с именем mycontainer в отсоединенном режиме (-d), монтирует том myvolume в каталог /app внутри контейнера (-v myvolume:/app), использует образ ubuntu и держит контейнер запущенным на протяжении часа (sleep 3600).
Теперь выведем список всех томов еще раз:
docker volume ls
Вы увидите как myvolume, так и another_volume. Т том myvolume в данный момент используется контейнером mycontainer. Т том another_volume не подключен ни к какому контейнеру, поэтому он является висящим томом.
Теперь отфильтруем висящие тома:
docker volume ls --filter dangling=true
В выводе вы должны увидеть another_volume, так как он не подключен ни к какому запущенному контейнеру.
Для просмотра томов, которые не являются висящими (то есть подключены к контейнеру), вы можете использовать --filter dangling=false.
docker volume ls --filter dangling=false
В этом случае должен быть показан том myvolume.
Наконец, остановим и удалим созданный нами контейнер.
docker stop mycontainer
docker rm mycontainer
Теперь, если вы снова выведете список висящих томов:
docker volume ls --filter dangling=true
Теперь должны появиться оба тома myvolume и another_volume как висящие, так как myvolume больше не подключен к контейнеру.