🐳 asc docker
Показывает Docker Engine ноды: все контейнеры хоста, а не только установленные через ASC.
Только root. У контейнера, созданного не через ASC, нет владельца, по которому работает проверка прав, — значит, не-root вызывающего не к чему привязать.
Использование
asc docker <действие>ps
asc docker ps [-a | --all] [-s | --size]Список контейнеров хоста — и ASC-овских, и чужих. Контейнер, который является приложением ASC, помечается его id в квадратных скобках.
-a,--all— включая остановленные контейнеры.-s,--size— запросить у Engine размеры контейнеров. По умолчанию выключено: чтобы ответить, Engine обходит writable-слой каждого контейнера — на загруженном хосте это заметная пауза.
stats
asc docker stats [<id>...]Живые CPU и память контейнеров. Без id — все запущенные.
Как и docker stats --no-stream, команда делает два замера с интервалом ~500 мс, чтобы посчитать процент CPU. Оба замера идут вокруг одного общего сна, поэтому пятьдесят контейнеров стоят тех же ~500 мс, что и один, а фильтр по id применяется до этого окна, а не после. Контейнер, исчезнувший между замерами, просто отсутствует в выводе.
images
asc docker imagesСписок образов хоста — и ASC-овских, и чужих. Строка, которую всё ещё запускает установленное приложение (неважно, запущено оно сейчас или нет), помечена как защищённая с именем этого приложения.
volumes
asc docker volumesСписок именованных томов Docker. Том, который объявляют настройки установленного приложения, помечается защищённым так же, как образы.
networks
asc docker networksСписок сетей. Только инвентарь — действия удаления здесь нет (см. Очистку).
df
asc docker dfСводка по диску, как docker system df: счётчики и байты для образов, контейнеров, томов и build cache. Дорогой вызов — Engine обходит каждый слой и том, — поэтому вызывать по требованию, а не по таймеру.
prune
asc docker prune <images|volumes|build-cache> [--dry-run] [--dangling]Удаляет неиспользуемые образы/тома/build cache поштучно — никогда через собственные массовые эндпоинты Engine /images/prune или /volumes/prune, и никогда то, что всё ещё нужно установленному приложению, запущено оно или нет.
--dry-run— посчитать тот же план, ничего не удаляя.--dangling— только для образов: ограничиться dangling (непомеченными) образами.
Очистка
Сети никогда не являются целью prune. ASC сам не создаёт и не удаляет сети, а собственный prune сетей у Engine сносит любую сеть без запущенных контейнеров — включая сеть остановленного compose-стека, что молча ломает его следующий up.
Управление жизненным циклом
Его здесь нет, и это намеренно. Для приложений ASC есть asc app start|stop: их контейнеры нельзя запускать и останавливать мимо менеджера приложений — желаемое состояние сверяется после перезапуска демона, и контейнер вернётся сам.
См. также
- 📱 Управление приложениями
- 📊 asc stats — те же цифры, но по приложениям ASC