docker查看所有容器 | docker列出所有容器命令 16
docker列出所有容器命令
为了列出 docker 容器,我们使用 ‘docker container ls’ 或 ‘docker ps’ 命令。两个命令都具有相同的标志,因为这两个命令都对同一事物(即容器)进行操作。它有不同的标志来根据我们的要求获取输出,因为它默认只显示正在运行的容器。’docker ps’ 命令更快更容易输入。
语法:
$docker container ls --help
$docker ps –help
docker查看所有容器
- 我们必须使用 Docker CLI 工具来执行命令来列出容器。
- 我们有两个列出容器的 Docker 命令。
- 第一个是“docker container ls”,第二个是“docker ps”。
- 如果我们运行此命令中的任何一个,我们只会获取该主机上正在运行的容器,但是,该命令具有不同的参数,我们可以指定这些参数来获取我们需要的容器列表。
Docker 列表容器示例
下面给出了提到的例子:
示例#1
我们有多个处于不同状态的容器,例如一些容器正在运行,一些处于退出状态或除运行之外的任何其他状态。我们想列出所有容器,无论它是否正在运行。
a. 让我们创建一些alpine 容器,如下所示:
代码:
$docker run -d alpine sleep 3600
$ docker run -d alpine
$ docker run -d alpine
输出:
b. 现在,我们可以运行“docker container ls”或“docker ps”命令来获取容器列表,如下所示:
代码:
$docker container ls
$docker ps
输出:
解释
- 我们创建了 3 个容器,但两个命令都只显示 1 个容器,因为默认情况下它只显示正在运行的容器。
c. 我们必须使用 ‘-all’ 或 ‘-a’ 标志来列出所有容器,如下所示:
代码:
$docker container ls --all
$ docker container ls –a
$docker ps --all
$docker ps -a
输出:
示例#2
假设我们有数百个容器在一台主机上运行,我们想查看特定的容器,例如,所有退出的容器都有特定的名称、ID、标签、卷、网络等。
a. 创建一些带有标签和名称的容器,如下所示:
代码:
$ docker run -d ubuntu sleep 3600
$ docker run -d alpine
$ docker run --label type=db -d redis
$ docker run -d --name test-con1 alpine
输出:
b. 让我们首先使用 id 过滤这些容器,如下所示:
代码:
$ docker container ls -a -f "id= ebe9557e"
$ docker container ls -a -f "id=eb"
输出:
c. 我们还可以根据容器的名称进行过滤,如下所示:
代码:
$docker container ls -a -f "name=test-con1"
输出:
d. 我们可以根据容器的标签过滤容器,如下所示:
代码:
$ docker container ls -f "label=type=db"
$ docker container ls -f "label=type"
输出:
解释
- 在上面的快照中,第一个命令显示标签为“type=db”的容器,第二个命令显示标签为“type”的容器,而不管值如何。
e. 我们可以根据其镜像过滤容器,如下所示:
代码:
$ docker container ls -a -f ancestor=alpine
输出:
代码:
$ docker container ls -a -f ancestor=3fd9065eaf02
输出:
F. 我们想过滤在特定容器之前和之后运行的容器,我们可以使用 before 和 since 过滤器,如下所示:
代码:
$ docker container ls -a -f before=laughing_carson
$ docker container ls -a -f since=laughing_carson
输出:
还有其他过滤器可用。
示例 #3
了解“–format”选项的使用。如果我们想根据需要显示容器的特定字段或格式化输出。我们可以根据容器 ID、镜像 ID、命令、端口等进行格式化。
a. 如果我们只想显示容器的 ID,那么使用 –format 选项如下:
代码:
$docker container ls -a --format "{{.ID}}"
输出:
b. 如果我们想输出带有 id 的名称,那么我们必须添加该字段,如下所示:
代码:
$docker container ls -a --format "{{.ID}} {{.Names}}"
输出:
c. 我们可以使用 ‘\t’ 在字段之间腾出更多空间,如下所示:
代码:
$ docker container ls -a --format "{{.ID}} \t {{.Names}}"
输出:
d. 如果需要,我们可以同时使用多个字段和任何符号,如下所示:
代码:
$docker container ls -a --format "{{.ID}} -> \t {{.Names}} -> \t {{.Status}}"
输出:
e. 当我们列出容器时,我们可以检查默认情况下未显示的标签或任何其他隐藏字段。
代码:
$ docker container ls -a --format "{{.ID}} \t {{.Names}} \t {{.Labels}} \t {{.Size}}"
输出:
解释
- 在上面的快照中,只有一个容器具有标签,即 type=db。
F. 我们可以看到输出没有列标题,如 ID、名称、标签等。我们必须使用“table”指令,如下所示:
代码:
$docker container ls -a --format "table {{.ID}} \t {{.Names}} \t {{.Labels}} \t {{.Size}}"
输出:
它也为我们提供了更清洁的输出。
示例 #4
我们要列出最近创建的 n 个容器。我们可以通过使用 ‘-last’ 或 ‘-n’ 选项来实现,如下所示:
代码:
$ docker container ls -n 2
输出:
上面的示例显示了最后创建的 2 个容器,还包括所有容器。
示例#5
我们可以使用“-l”标志来列出最新创建的容器。它显示所有容器,而不管它们的状态如何,而不指定“-a”标志。
代码:
$docker container ls -l
输出:
示例 #6
有时,由于屏幕大小或更多列,我们会遇到输出问题,因此默认情况下 Docker 守护程序会截断某些列的输出,如下所示:
代码:
$docker container ls
输出:
解释
- 在上面的快照中,我们看到“COMMAND”列已被截断。
我们可以使用“–no-trunc”选项来显示该列的完整值,如下所示:
代码:
$docker container ls --no-trunc
输出:
我们现在可以看到容器的完整容器 ID 和命令。我们可以将此选项与其他选项以及格式一起使用:
示例 #7
如果我们只想列出容器 ID,那么我们可以使用选项 ‘-quiet’ 或 ‘-q’。它类似于仅使用带有 ID 的 ‘-format’ 选项。我们可以通过管道将它传递给 ‘wc’ 命令来计算容器,如下所示:
代码:
$docker container ls --quiet
$ docker container ls -a –quiet
$ docker container ls -a –quiet | wc
输出:
示例 #8
如果我们想显示容器的大小,我们必须使用 ‘-size’ 或 ‘-s’ 选项,如下所示,但是,我们也可以使用 ‘format’ 选项输出相同的内容,但是这个命令它更快。
代码:
$ docker container ls -a --size
输出:
结论
我们可以指定多个选项来获取容器列表,但最有用的选项是“filter”和“format”选项。大多数时候我们使用“docker ps”命令,因为我们必须输入更少。
推荐文章
这是 docker查看所有容器 的指南。这里我们分别举例讨论docker列出所有容器命令。
本文是docker快速入门教程系列的一部分您也可以查看以了解更多信息 –
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!