如何在Docker中列出容器

有一个列出图像的命令,docker images,但似乎没有相应的docker containers

除了成为root并查看/var/lib/docker之外,似乎没有办法做到这一点。我错过了什么吗?这是一个人不应该做的事情吗?

893848 次浏览

要仅显示运行容器,请使用给定的命令:

docker ps

要显示所有容器,请使用给定的命令:

docker ps -a

要显示最近创建的容器(包括所有状态),请使用给定的命令:

docker ps -l

要显示n上次创建的容器(包括所有状态),请使用给定的命令:

docker ps -n=-1

要显示总文件大小,请使用给定的命令:

docker ps -s

上面介绍的内容来自docker.com

在新版Docker中,更新了命令,并添加了一些管理命令:

docker container ls

它用于列出所有正在运行的容器。

docker container ls -a

然后,如果你想把它们都清理干净,

docker rm $(docker ps -aq)

它用于列出所有创建的容器,而不管其状态如何。

并停止所有Docker容器(强制)

docker rm -f $(docker ps -a -q)

这里容器是管理命令。

请注意,不久前对该命令进行了更新。默认情况下,它不会显示容器大小(因为这对于许多正在运行的容器来说相当昂贵)。使用docker ps -s也可以显示容器大小。

docker ps-s将只显示正在运行的容器的大小。

要检查所有容器的大小,请使用docker ps -as

仅列出SHA1容器:

docker ps -aq --no-trunc

这样,您可以将所有容器列表用于其他命令(接受多个容器id作为参数)。

例如,要列出只有所有容器的姓名(因为docker ps只列出它们的名称和其他信息):

docker inspect --format='\{\{.Name}}' $(sudo docker ps -aq --no-trunc)

我收到错误消息Cannot connect to the Docker daemon.我忘了我正在以root身份运行守护进程并且需要sudo

$ sudo docker ps

列出所有正在运行和停止的容器

docker ps -a

列出所有正在运行的容器(只是说明-f过滤选项的明显使用和示例使用)

docker ps -a -f status=running

列出所有正在运行和停止的容器,仅显示其容器ID

docker ps -aq

删除所有未运行的容器

docker rm `docker ps -aq -f status=exited`

还有以下选项:

docker container lsdocker container ls -a# --all, -a# Show all containers (default shows just running)

自:1.13.0(2017-01-18)

通过添加docker imagedocker container命令来重组CLI命令以提高一致性#26025

如这里所述:介绍Docker 1.13,鼓励用户采用新语法:

CLI重组

在Docker 1.13中,我们将每个命令重新组合到它正在与之交互的逻辑对象下。例如,容器的liststart现在是docker container的子命令,historydocker image的子命令。

这些更改使我们能够清理Docker CLI语法,改进帮助文本并使Docker更易于使用。仍然支持旧的命令语法,但我们鼓励每个人采用新语法

docker ps [OPTIONS]

默认情况下,以下命令将仅显示正在运行的容器。

docker ps

查看所有容器:

docker ps -a

用于显示最新创建的容器:

docker ps -l

Docker命令集很简单,并且很好地结合在一起:

docker stack lsdocker service lsdocker image lsdocker container ls

首先教别名是令人困惑的。一旦你明白发生了什么,他们可以节省一些击键:

docker images -> docker image lsdocker ps -> docker container lsdocker rmi -> docker image rmdocker rm -> docker container rm

Docker中有几个别名。例如:

docker rmidocker image rmdocker image rmidocker image remove

都是相同的命令(请参阅使用docker help image rm)。

有很多方法可以列出所有容器。

你可以找到使用3个别名ls, ps, list像这样。

sudo docker container lssudo docker container pssudo docker container listsudo docker pssudo docker ps -a

您也可以使用给选项[option]

选项-:

  -a, --all             Show all containers (default shows just running)-f, --filter filter   Filter output based on conditions provided--format string   Pretty-print containers using a Go template-n, --last int        Show last created containers (includes all states) (default -1)-l, --latest          Show the latest created container (includes all states)--no-trunc        Don't truncate output-q, --quiet           Only display numeric IDs-s, --size            Display total file sizes

您可以使用这样的选项:

sudo docker ps //Showing only running containerssudo docker ps -a //All container (running + stopped)sudo docker pa -l // latestsudo docker ps -n <int valuse 1,2,3 etc>// latest number of created containerssudo docker ps -s // Display container with sizesudo docker ps -q // Only display numeric IDs for containersdocker docker ps -a | tail -n 1 //oldest container

使用docker container ls列出所有正在运行的容器。

使用标志-a显示所有容器(不仅仅是正在运行)。即docker container ls -a

使用标志-q来显示容器及其数字ID。即docker container ls -q

访问留档以了解此命令的所有可用选项。

只是获取最后n=5个容器的方便方法(无论是否运行):

$ docker container ls -a -n5

只显示正在运行的容器

docker ps

显示所有容器(包括所有状态)

docker ps -a

显示最新创建的容器(包括所有状态)

docker ps -l

显示最近创建的n个容器(包括所有状态)

docker ps -n=-1

显示总文件大小

docker ps -s

在新版Docker中,更新了命令,并添加了一些管理命令:

docker container ls

列出所有正在运行的容器。

docker container ls -a

列表运行容器:-

$ docker ps

列表所有容器:-

$ docker ps -a

仅列出停止容器:-

$ docker ps --filter "status=exited"

$ docker ps -f "status=exited"