【问题标题】:How to list containers in Docker如何在 Docker 中列出容器
【发布时间】:2013-05-26 06:41:34
【问题描述】:

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

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

【问题讨论】:

标签: docker


【解决方案1】:

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

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 命令查看所有本地图像。
【解决方案2】:

列出正在运行的容器:-

$ docker ps

列出所有容器:-

$ docker ps -a

仅列出停止容器:-

$ docker ps --filter "status=exited"

$ docker ps -f "status=exited"

【讨论】:

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

只显示正在运行的容器

docker ps

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

docker ps -a

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

docker ps -l

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

docker ps -n=-1

显示总文件大小

docker ps -s

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

docker container ls

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

docker container ls -a

【讨论】:

    【解决方案4】:

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

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

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

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

    【讨论】:

      【解决方案5】:

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

      $ docker container ls -a -n5
      

      【讨论】:

        【解决方案6】:

        还有以下选项:

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

        因为:1.13.0 (2017-01-18)

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

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

        CLI 重组

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

        这些更改让我们可以清理 Docker CLI 语法、改进帮助文本并使 Docker 更易于使用。 旧的命令语法仍受支持,但我们鼓励大家采用新的语法

        【讨论】:

        • 好消息,可惜docker --help 在其输出中将建议的界面 3 页返回,隐藏在弃用的命令之前!
        【解决方案7】:

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

        你可以像这样使用 3 Aliasesls, ps, list 找到。

        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
        

        【讨论】:

          【解决方案8】:

          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自行查看)。

          【讨论】:

            【解决方案9】:
            docker ps [OPTIONS]
            

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

            docker ps
            

            查看所有容器:

            docker ps -a
            

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

            docker ps -l
            

            【讨论】:

              【解决方案10】:

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

              $ sudo docker ps
              

              【讨论】:

              • alias docker="sudo --group docker docker"
              【解决方案11】:

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

              docker ps -a
              

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

              docker ps -a -f status=running
              

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

              docker ps -aq
              

              移除所有未运行的容器

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

              【讨论】:

                【解决方案12】:

                仅列出容器 SHA1:

                docker ps -aq --no-trunc
                

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

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

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

                【讨论】:

                  【解决方案13】:

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

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

                  【讨论】:

                    【解决方案14】:

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

                    【讨论】:

                    • 根据下面 mrh 的回答,您还需要 -a 开关来查看未运行的容器(可能是您想要删除的容器),所以最后的命令是docker ps -as(如果守护进程以 root 身份运行,请不要忘记添加 sudo
                    猜你喜欢
                    • 2015-07-19
                    • 2020-08-27
                    • 1970-01-01
                    • 2015-08-19
                    • 1970-01-01
                    • 2015-07-25
                    • 2018-07-27
                    • 2017-11-11
                    • 1970-01-01
                    相关资源
                    最近更新 更多