Docker 只显示容器名

介绍

Docker 是一个开源的容器化平台,可以将应用程序及其依赖项打包到容器中,并以可移植的方式部署到任何支持 Docker 的环境中。在使用 Docker 运行容器时,默认情况下,会同时显示容器的 ID 和名称。然而,有时候只需要看到容器的名称,以便更好地进行管理和识别。本文将介绍如何只显示 Docker 容器的名称,并提供相应的代码示例。

Docker 容器名称

Docker 容器的名称是在创建容器时分配的一个唯一标识符。默认情况下,Docker 会为每个容器生成一个随机名称,如 "boring_lamport"、"agitated_bassi" 等。这些名称在识别容器时可能不够直观,因此有时候我们希望只显示容器的名称。

只显示容器名称的方法

方法一:使用 docker ps 命令

Docker 提供了 docker ps 命令来列出正在运行的容器。默认情况下,docker ps 命令会显示容器的 ID、名称、创建时间、状态等信息。为了只显示容器名称,我们可以使用 --format 参数来指定输出的格式。以下是一个示例:

docker ps --format "{{.Names}}"

上述命令将只显示容器的名称,而不包括其他信息。

方法二:使用 docker container ls 命令

除了 docker ps 命令外,我们还可以使用 docker container ls 命令来列出正在运行的容器。同样地,我们可以使用 --format 参数来指定输出的格式。以下是一个示例:

docker container ls --format "{{.Names}}"

上述命令将只显示容器的名称,而不包括其他信息。

方法三:使用 docker inspect 命令

另一种方法是使用 docker inspect 命令来获取容器的详细信息,并从中提取容器的名称。以下是一个示例:

docker inspect --format="{{.Name}}" <容器ID或名称>

上述命令将返回容器的完整名称,包括斜杠(/)。如果只需要容器的名称,可以使用 basename 命令来提取:

docker inspect --format="{{.Name}}" <容器ID或名称> | xargs basename

方法四:使用 Docker API

如果需要通过编程方式获取容器的名称,可以使用 Docker API。Docker 提供了 RESTful API,可以通过发送 HTTP 请求来与 Docker 交互。以下是一个使用 Python 代码获取容器名称的示例:

import docker

client = docker.from_env()
containers = client.containers.list()

for container in containers:
    print(container.name)

上述代码使用 Docker SDK for Python 来连接 Docker,然后通过 containers.list() 方法获取正在运行的容器列表,并打印出每个容器的名称。

总结

本文介绍了如何只显示 Docker 容器的名称。我们可以使用 docker psdocker container ls 命令并结合 --format 参数来实现此目的。另外,我们还可以使用 docker inspect 命令或 Docker API 进行更高级的操作。通过只显示容器的名称,我们可以更方便地进行容器管理和识别。

以下是示意图:

journey
  title Docker 只显示容器名

  section 列出容器信息
    Docker CLI --> Docker Daemon: docker ps 或 docker container ls
    Docker Daemon --> Docker CLI: 返回容器信息

  section 提取容器名称
    Docker CLI --> Docker Daemon: --format "{{.Names}}"
    Docker Daemon --> Docker CLI: 只返回容器名称

  section 显示容器名称
    Docker CLI --> 用户: 容器名称

以下是序列图:

sequenceDiagram
  participant 用户
  participant Docker CLI
  participant Docker Daemon

  用户 ->> Docker CLI: 运行命令
  Docker CLI ->> Docker Daemon: 请求获取容器信息
  Docker Daemon -->> Docker CLI: 返回容器信息
  Docker CLI ->> 用户: 显示容器信息
``