点击学习开源企业 Docker 镜像仓库 Harbor 软件 教程。
在 Docker 中,使用 docker container inspect 命令获取一个或多个 Docker 容器的详细信息。
语法如下:
用法:Docker container inspect [OPTIONS] CONTAINER [CONTAINER...] 显示一个或多个容器的详细信息 选项: -f, --format string 使用自定义模板格式化输出: 'json': 以 JSON 格式打印 'TEMPLATE': 使用给定的 Go 模板打印输出 有关使用模板格式化输出的更多信息,请参阅 https://docs.docker.com/go/formatting/。 -s, --size 显示文件总大小
(1) 查看单个容器的详细信息
格式: docker container inspect <container_id_or_name>
root@hxvm2:~# docker container inspect redis [ { "Id": "7bfac83b61a33d4ce543f40f7f838c0a772addbba99e055b4578472ff96733e6", "Created": "2024-08-23T02:49:47.532984819Z", "Path": "docker-entrypoint.sh", .... "GraphDriver": { ... }, "Mounts": [ ... ], "Config": { "Hostname": "7bfac83b61a3", ... }, "NetworkSettings": { "Bridge": "", ... } } ]
(2)查看多个容器的详细信息
格式: docker container inspect <container_id_1> <container_id_2>...
root@hxvm2:~# docker container inspect redis 41a203fa62c5 [ { "Id": "7bfac83b61a33d4ce543f40f7f838c0a772addbba99e055b4578472ff96733e6", "Created": "2024-08-23T02:49:47.532984819Z", "Path": "docker-entrypoint.sh", ... }, { "Id": "41a203fa62c517aae632147b7e5fe3408b902053df84970a9216ef5334ff39fa", "Created": "2024-08-22T09:42:48.827891727Z", "Path": "/docker-entrypoint.sh", ... } ]
注意:还可以使用通配符来匹配多个容器,例如:docker container inspect my_container_*。
执行完 docker container inspect 命令后,会以 JSON 格式输出容器的详细信息,包括但不限于以下内容:
容器配置信息:
Id:容器的唯一标识符。
Name:容器的名称。
Image:用于创建该容器的镜像名称和标签。
Command:容器启动时运行的命令。
Created:容器创建的时间戳。
State:容器的当前状态,包括运行状态、退出码等。
Status:容器的可读状态描述,如 “Up X minutes” 表示容器已经运行了多少分钟。
网络配置信息:
NetworkSettings:包含容器的网络配置,如 IP 地址、端口映射等。
Ports:列出容器暴露的端口以及对应的主机端口映射。
存储配置信息:
Mounts:容器中的挂载点信息,包括容器内的挂载路径和对应的主机路径。
其他信息:
HostConfig:与主机相关的配置选项,如资源限制、绑定挂载等。
我们可以利用 docker container inspect 命令输出的信息来做一些其他用途。
(1)获取容器的 IP 地址,可以通过解析docker container inspect的输出 JSON 来获取容器的 IP 地址。例如,使用jq工具:
root@hxvm2:~# docker container inspect redis | jq '.[0].NetworkSettings.IPAddress' "172.17.0.3"
(2)检查容器的端口映射,查看容器暴露的端口以及对应的主机端口映射:
root@hxvm2:~# docker container inspect redis | jq '.[0].NetworkSettings.Ports' { "6379/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "6379" }, { "HostIp": "::", "HostPort": "6379" } ] }
docker container inspect 命令提供了丰富的容器详细信息,对于调试、监控和自动化容器管理非常有用。
点击学习开源企业 Docker 镜像仓库 Harbor 软件 教程。