ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Docker 中列出容器

这个问题的答案是社区的努力。编辑现有答案以改进这篇文章。它目前不接受新的答案或交互。

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

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

Stack Overflow stackoverflow.com/questions/38464549/… 上的类似问题

S
STEEL

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

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)  

这里的容器是管理命令。


@RutgerHofste 两个命令(docker rmdocker psdo 都显示在 docker 的帮助中。
另一种清理所有不必要项目(如悬空容器、未使用的图像、日志等)的有用方法是使用 docker system prune --all。您可以找到 docker 文档 here
拉取图像后,ps -a 不会列出它。似乎您只能列出至少运行过一次的图像?
docker ps 列出所有正在运行的个暂停的容器。仅列出正在运行的:docker ps --filter="status=running"
@ftavers docker ps 仅显示有关容器的信息。你想要的是关于图像的信息。您可以使用 docker images 命令查看所有本地图像。
k
kramfs

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

docker ps -a

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

docker ps -a -f status=running

列出所有正在运行和停止的容器,仅显示它们的容器 id

docker ps -aq

删除所有未运行的容器

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

q
qkrijger

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


根据下面 mrh 的回答,您还需要 -a 开关来查看未运行的容器(可能是您要删除的容器),因此最终命令是 docker ps -as (不要忘记如果守护进程以 root 身份运行,则添加 sudo
m
mrh

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

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


C
Community

还有以下选项:

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

因为:1.13.0 (2017-01-18)

通过添加 docker image 和 docker container 命令来重构 CLI 命令以提高一致性 #26025

并且如此处所述:Introducing Docker 1.13,鼓励用户采用新语法:

CLI 重组 在 Docker 1.13 中,我们将每个命令重新组合到与之交互的逻辑对象下。例如,容器的列表和启动现在是 docker 容器的子命令,而历史记录是 docker 映像的子命令。这些更改让我们可以清理 Docker CLI 语法、改进帮助文本并使 Docker 更易于使用。旧的命令语法仍受支持,但我们鼓励大家采用新的语法。


很棒的信息,遗憾的是 docker --help 在其输出中返回了建议的界面 3 页,隐藏在不推荐使用的命令之前!
V
VonC

仅列出容器 SHA1:

docker ps -aq --no-trunc

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

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

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

P
Peter Mortensen

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

docker stack ls
docker service ls
docker image ls
docker container ls

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

docker images -> docker image ls
docker ps -> docker container ls
docker rmi -> docker image rm
docker rm -> docker container rm

Docker 中有几个别名。例如:

docker rmi
docker image rm
docker image rmi
docker image remove

都是相同的命令(使用 docker help image rm 自行查看)。


M
Mr Singh

列出所有容器的方法有很多种。

您可以使用 3 Aliasesls、ps、这样的列表找到。

sudo docker container ls 
sudo docker container ps
sudo docker container list
sudo docker ps
sudo 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 containers
sudo docker ps -a //All container (running + stopped)
sudo docker pa -l // latest
sudo docker ps -n <int valuse 1,2,3 etc>// latest number of created containers
sudo docker ps -s // Display container with size
sudo docker ps -q // Only display numeric IDs for containers
docker docker ps -a | tail -n 1 //oldest container

A
Ankit Marothi

仅显示正在运行的容器

docker ps

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

docker ps -a

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

docker ps -l

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

docker ps -n=-1

显示总文件大小

docker ps -s

在新版本的Docker中,更新了命令,增加了一些管理命令:

docker container ls

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

docker container ls -a


m
menuka

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

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

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

访问 documentation 了解此命令的所有可用选项。


p
pickup limes

列出正在运行的容器:-

$ docker ps

列出所有容器:-

$ docker ps -a

仅列出已停止的容器:-

$ docker ps --filter "status=exited" 或 $ docker ps -f "status=exited"


这些命令已经发布了多次 - 重复其他答案的原因是什么?
@NicoHaase 可能是为了收集赞成票。已经有 4 人对这个答案投了赞成票,正如您正确指出的那样,它并没有贡献任何新的东西。但是,您可以从我那里获得 +1 的评论:-)
V
Vic K

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

$ docker container ls -a -n5

f
fduff

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

$ sudo docker ps

alias docker="sudo --group docker docker"
N
Nobita
docker ps [OPTIONS]

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

docker ps

查看所有容器:

docker ps -a

显示最新创建的容器:

docker ps -l