Docker совет №8: Разница между docker ps и docker container ls

Nov 23, 2017 10:38 · 224 words · 2 minute read docker

В docker версии 1.13+ была добавлена группировка команд (grouped commands) для удобства и наведения порядка в куче неструктурированных docker команд. Если коротко — обе команды выполняют одно и тоже. Давайте разберемся!

Если вы запустите ]docker help] в версии docker 1.13+, в тексте справки можно будет увидеть и «Management Commands», и «Commands» (вывод сокращен):

docker help

Usage:	docker COMMAND
...
Management Commands:
...
  container   Manage containers
  image       Manage images
  network     Manage networks
...

Commands:
...
  port        List port mappings or a specific mapping for the container
  ps          List containers
...

Список команд («Commands») состоит примерно из 40 пунктов, поэтому в нем трудно ориентироваться — нужно еще обращать внимание с какой сущностью связаны команды (с контейнерами, изображениями, сетями, томами и т.д.).

В списке команд управления («Management Commands») эти же команды структурированы и «более очевидны».

Например, docker container ls — это новый вариант команды docker ps. Команда получилась длиннее, но зато сразу ясно, что она делает. Аналогично теперь можно запускать docker image ls, docker network ls или docker volume ls для вывода списка образов/сетей/томов. Во всех этих командах существует согласованность.

Как я уже говорил, обе команды выполняют одно и тоже. Предполагаю, что в будущих релизах несгруппированные команды (например, docker run) будут заменены на сгруппированные (например, docker container run). Сейчас нет никаких явных требований использовать только новый вариант синтаксиса команд, поэтому у нас есть время для постепенного перехода.

tweet Share