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

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


当前回答

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

你可以使用3个Aliasesls, ps,像这样的列表。

sudo docker container ls 
sudo docker container ps
sudo docker container list
sudo docker ps
sudo docker ps -a

你也可以使用give option[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

其他回答

我得到了错误信息无法连接到Docker守护进程。我忘了我运行守护进程的根和需要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 ps -s也可以显示容器大小。

只列出容器SHA1:

docker ps -aq --no-trunc

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

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

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

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

$ docker container ls -a -n5