Docker 容器内省:获取容器详细信息的指南

Docker 的容器内省功能允许您获取有关正在运行的容器的详细信息。这对于调试和分析容器中的应用程序非常有用。在本文中,我将向您介绍如何使用 Docker API、Docker CLI 和 Docker Remote API 来获取容器的详细信息,并提供一些示例代码和命令。

Docker API

Docker API 允许您使用 RESTful API 与 Docker 守护进程进行交互。您可以使用 API 来检索有关正在运行的容器的信息。以下是一些常用的 API 端点:

  • /containers/json:返回有关所有正在运行的容器的基本信息。
  • /containers/{id}/json:返回有关指定容器的详细信息。
  • /containers/{id}/stats:返回有关指定容器的统计信息,例如 CPU 使用情况、内存使用情况和网络使用情况。

您可以使用 curl 或类似的工具执行 API 调用。例如,以下命令返回有关所有正在运行的容器的基本信息:

$ curl -s --unix-socket /var/run/docker.sock http:/v1.24/containers/json | jq .

以下是一些有用的 jq 命令:

  • .[].Id:返回所有容器的 ID。
  • .[].Names:返回所有容器的名称。
  • .[].Image:返回所有容器的映像名称。
  • .[].State.Status:返回所有容器的状态(例如运行、停止或退出)。

Docker CLI

Docker CLI 是一个命令行接口,允许您从终端与 Docker 守护进程进行交互。您可以使用 CLI 来检索有关正在运行的容器的信息。以下是一些常用的 CLI 命令:

  • docker ps:返回有关所有正在运行的容器的基本信息。
  • docker inspect {id}:返回有关指定容器的详细信息。
  • docker stats {id}:返回有关指定容器的统计信息,例如 CPU 使用情况、内存使用情况和网络使用情况。

以下是一些有用的选项:

  • --format:指定输出格式。
  • --no-trunc:显示完整的容器 ID。

以下命令返回有关所有正在运行的容器的基本信息:

$ docker ps

以下命令返回有关指定容器的详细信息:

$ docker inspect {id}

以下命令返回有关指定容器的统计信息:

$ docker stats {id}

Docker Remote API

Docker Remote API 允许您使用 HTTP 与 Docker 守护进程进行交互。您可以使用 Remote API 来检索有关正在运行的容器的信息。以下是一些常用的 API 端点:

  • /containers/json:返回有关所有正在运行的容器的基本信息。
  • /containers/{id}/json:返回有关指定容器的详细信息。
  • /containers/{id}/stats:返回有关指定容器的统计信息,例如 CPU 使用情况、内存使用情况和网络使用情况。

以下是一些有用的选项:

  • -H:指定 Docker 守护进程的主机和端口。
  • --tls:启用 TLS。
  • --tlscacert:指定 TLS CA 证书。
  • --tlscert:指定 TLS 证书。
  • --tlskey:指定 TLS 密钥。

以下命令返回有关所有正在运行的容器的基本信息:

$ curl --unix-socket /var/run/docker.sock http://localhost/containers/json

以下命令返回有关指定容器的详细信息:

$ curl --unix-socket /var/run/docker.sock http://localhost/containers/{id}/json

以下命令返回有关指定容器的统计信息:

$ curl --unix-socket /var/run/docker.sock http://localhost/containers/{id}/stats

工具和库

以下是一些有用的工具和库,用于在容器中查找和分析文件和进程:

  • nsenter:允许您在容器中运行命令,就像在主机上一样。
  • lsof:列出打开的文件。
  • strace:跟踪进程和系统调用。
  • htop:显示进程和资源使用情况。
  • ps:列出进程。
  • top:显示资源使用情况。
  • netstat:显示网络连接和统计信息。
  • tcpdump:捕获和分析网络流量。
  • sysdig:捕获和分析系统活动。

结论

Docker 的容器内省功能允许您获取有关正在运行的容器的详细信息。您可以使用 Docker API、Docker CLI 和 Docker Remote API 来检索容器的信息。此外,还有一些有用的工具和库,用于在容器中查找和分析文件和进程。

Docker 容器内省:获取容器详细信息的指南

原文地址: https://www.cveoy.top/t/topic/nKSP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录