“docker ps”和“docker container ls”有区别吗?

docker psdocker container ls的文档都是“List containers”,但是没有提到其他的命令。 这两个命令有区别吗?

输出看起来完全一样:

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bbe3d7158eaa flaskmysqldockerized_web "python app.py" 5 hours ago Up 18 seconds 0.0.0.0:8082->5000/tcp flaskmysqldockerized_web_1 4f7d3f0763ad mysql "docker-entrypoint..." 6 hours ago Up 18 seconds 0.0.0.0:3307->3306/tcp flaskmysqldockerized_db_1 

docker psdocker container ls之间没有区别。 在Docker 1.13中添加了新的命令结构( docker container <subcommand> ),以便在使用命令行时提供更加结构化的用户体验。

据我所知,还没有任何官方声明放弃对旧式命令的支持(比如docker ps和其他人),尽pipe假设这种情况在将来的某个时候可能会发生。

这在Docker 1.13发布的博客文章中有描述:

Docker在过去几年已经发展了很多function,而Docker CLI现在有很多命令(在撰写本文时为40)。 一些像构build或运行一样被使用了很多,有些比较晦涩,比如暂停或者历史。 许多顶级命令混乱的帮助页面,使制表符完成困难。

在Docker 1.13中,我们将每个命令重新组合,使其位于与其交互的逻辑对象下。 例如list和startof容器现在是docker容器的子命令,而history是docker镜像的一个子命令。

 docker container list docker container start docker image history 

通过这些更改,我们可以清理Docker CLI语法,改进帮助文本并简化Docker的使用。 旧的命令语法仍然受支持,但我们鼓励大家采用新的语法。