Docker совет №8: Разница между docker ps и docker container ls
Nov 23, 2017 10:38 · 224 words · 2 minute read
В 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). Сейчас нет никаких явных требований использовать только новый вариант синтаксиса команд, поэтому у нас есть время для постепенного перехода.