📜  docker ps grep container id - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:14:45.963000             🧑  作者: Mango

Shell-Bash: 使用 docker ps 和 grep 查找容器 ID

本文介绍如何在 Shell-Bash 中使用 docker psgrep 命令来查找指定容器的 ID。

Docker ps 命令

docker ps 命令用于列出当前正在运行的容器。该命令的常用选项有:

  • -a:列出所有容器,包括已经停止的容器。
  • -f:根据指定条件过滤容器,支持的条件有 nameidlabelstatus 等。
  • --format:指定输出格式,包括 tablejsonpretty 等。

执行 docker ps 命令可得到以下输出:

CONTAINER ID   IMAGE             COMMAND                  CREATED             STATUS             PORTS     NAMES
1a2b3c4d5e6f   nginx:latest      "nginx -g 'daemon of…"   2 days ago          Up 2 days          80/tcp    web-server
2b3c4d5e6f7a   mysql:5.7         "docker-entrypoint.s…"   3 weeks ago         Up 3 weeks         3306/tcp  db-server

以上输出展示了当前正在运行的两个容器的信息,包括容器 ID、镜像、命令、创建时间、状态、映射端口和名称。

Grep 命令

grep 命令用于在文本中查找匹配的字符串,并将匹配结果进行输出。该命令的常用选项有:

  • -i:忽略大小写。
  • -v:反向选择,输出不匹配的行。
  • -o:只输出匹配的字符串,而非整行。
  • -w:只匹配整个单词,避免匹配到部分单词。

执行 grep 命令可得到以下输出:

web-server
db-server

以上输出展示了所有正在运行的容器的名称。

在 Docker 中查找容器 ID

要在 Docker 中查找指定容器的 ID,可以使用以下命令:

docker ps -q --filter "name=CONTAINER_NAME" | grep -w CONTAINER_NAME

其中,CONTAINER_NAME 应替换为要查找的容器的名称。该命令的作用是:

  1. 使用 docker ps 命令列出当前正在运行的容器。
  2. 使用 -q 选项只输出容器的 ID。
  3. 使用 --filter 选项根据容器的名称过滤输出。
  4. 使用 grep 命令只输出容器的名称。

执行以上命令可得到指定容器的 ID。

1a2b3c4d5e6f
Markdown 代码块

在 Markdown 中,可以使用三个反引号(```)包裹代码片段,以显示出代码高亮效果。

以下是本文中的 Shell-Bash 代码片段展示,其中可用 CONTAINER_NAME 替换以具体容器名称作为参数。

docker ps -q --filter "name=CONTAINER_NAME" | grep -w CONTAINER_NAME

以上就是本文介绍的内容,希望对使用 Docker 的程序员有所帮助。