Docker 容器内省:获取容器详细信息的指南
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 来检索容器的信息。此外,还有一些有用的工具和库,用于在容器中查找和分析文件和进程。
原文地址: https://www.cveoy.top/t/topic/nKSP 著作权归作者所有。请勿转载和采集!