我使用了docker-compose
来启动容器, docker ps -al
列出了停止的容器,docker container ls
列出了正在运行的容器,但是直接run启动容器,“运行中”,“退出”状态的容器,使用docker ps -al
都能看到,感觉对于这两个命令很混乱。
我看了文档,说docker ps -al
用来列出容器列表,docker container
用来管理容器,两个命令有区别吗?为什么单一一个命令无法把容器都列出来呢?
求路过的大佬讲解一下
我使用了docker-compose
来启动容器, docker ps -al
列出了停止的容器,docker container ls
列出了正在运行的容器,但是直接run启动容器,“运行中”,“退出”状态的容器,使用docker ps -al
都能看到,感觉对于这两个命令很混乱。
我看了文档,说docker ps -al
用来列出容器列表,docker container
用来管理容器,两个命令有区别吗?为什么单一一个命令无法把容器都列出来呢?
求路过的大佬讲解一下
2 回答2.5k 阅读✓ 已解决
2 回答842 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.3k 阅读
1 回答1.6k 阅读
1.1k 阅读
docker ps与docker container ls之间的区别
Docker 1.13+引入了分组命令来帮助组织一堆Docker命令。两个命令都做同样的事情。
如果您运行docker help并使用Docker 1.13+(包括v17.03 +),您将在帮助文本中看到“管理命令”和“命令”。
完整输出要长得多,如果查看整个命令列表,其中有大约40个。查看该列表很困难,因为这些命令与容器,图像,网络,卷等相关联。
Docker意识到从长远来看这是不可持续的,因此他们添加了“管理命令”,它有助于对所有命令进行分类,并使命令本身更加一致。
例如,docker container ls是新的方法docker ps。当然这需要打更多的字,但它的作用更清晰。同样,现在你可以运行docker image ls,docker network ls或docker volume ls。所有这些命令都具有一致性。
两个版本的命令都做同样的事情。我想,长期来看,非分组命令(例如docker run)将被弃用或不赞成使用, 取而代之的是
docker container run
。没有迹象表明这种情况很快就会发生,但如果您使用Docker 1.13+,那么您应该尝试使用更新的语法。它更具描述性和一致性。参考:
https://nickjanetakis.com/blo...