Skip to content

🐳 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: их контейнеры нельзя запускать и останавливать мимо менеджера приложений — желаемое состояние сверяется после перезапуска демона, и контейнер вернётся сам.

См. также ​

Распространяется по лицензии MIT.