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
). Сейчас нет никаких явных требований использовать только новый вариант синтаксиса команд, поэтому у нас есть время для постепенного перехода.