有一个命令列出图像,docker图像,但似乎没有对应的docker容器。

除了成为根用户并查看/var/lib/docker之外,似乎没有其他方法可以做到这一点。我遗漏了什么吗?这是不该做的事吗?


当前回答

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

docker ps -a

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

docker ps -a -f status=running

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

docker ps -aq

删除所有未运行的容器

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

其他回答

docker ps [OPTIONS]

下面的命令默认只显示正在运行的容器。

docker ps

查看所有容器:

docker ps -a

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

docker ps -l

我得到了错误信息无法连接到Docker守护进程。我忘了我运行守护进程的根和需要sudo:

$ sudo docker ps

这是一种获得最后n=5个容器的方便方法(无论是否运行):

$ docker container ls -a -n5

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

只列出容器SHA1:

docker ps -aq --no-trunc

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

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

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