Docker 教程

Docker 查看容器详情

在 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 命令提供了丰富的容器详细信息,对于调试、监控和自动化容器管理非常有用。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号