有一个命令列出图像,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 -s也可以显示容器大小。

只列出容器SHA1:

docker ps -aq --no-trunc

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

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

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

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

docker ps -a

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

docker ps -a -f status=running

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

docker ps -aq

删除所有未运行的容器

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

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)。

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

使用标志-a来显示所有容器(而不仅仅是正在运行的容器)。例如docker容器ls -a

使用标志-q显示容器及其数字id。例如docker容器ls -q

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