Docker 查询运行参数

在使用Docker容器时,我们经常需要查询已经运行的容器的状态和参数。这些信息对于容器的管理和调试非常重要。本文将介绍如何使用Docker命令查询运行参数,包括容器的状态、端口映射、环境变量等信息。

1. docker inspect命令

docker inspect命令用于显示一个或多个容器的详细信息。它返回一个JSON格式的输出,包含了容器的各种属性和配置信息。我们可以使用docker inspect命令来查询容器的运行参数。

$ docker inspect <container_id>

其中<container_id>是容器的ID或名称。

2. 查询容器基本信息

使用docker inspect命令可以查询容器的基本信息,如容器的ID、名称、状态、创建时间等。下面的示例展示了如何查询一个正在运行的容器的基本信息。

$ docker inspect mycontainer

输出的结果是一个JSON格式的字符串,可以使用jq命令来格式化显示:

$ docker inspect mycontainer | jq .

3. 查询容器端口映射

当我们使用-p参数将主机的端口映射到容器的端口时,我们可能想要查询已经映射的端口。使用docker inspect命令可以查询容器的端口映射信息。

$ docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{$p}} -> {{(index $conf 0).HostPort}}{{end}}' mycontainer

上面的命令中,--format参数指定了输出的格式,{{range $p, $conf := .NetworkSettings.Ports}}表示遍历容器的端口映射,{{$p}}表示容器端口,(index $conf 0).HostPort表示主机端口。

4. 查询容器环境变量

容器的环境变量可以通过docker inspect命令来查询。下面的示例展示了如何查询一个容器的环境变量。

$ docker inspect --format='{{range $e := .Config.Env}}{{$e}}{{end}}' mycontainer

上面的命令中,--format参数指定了输出的格式,{{range $e := .Config.Env}}表示遍历容器的环境变量,{{$e}}表示环境变量的值。

5. 查询容器日志路径

容器的日志路径可以通过docker inspect命令来查询。下面的示例展示了如何查询一个容器的日志路径。

$ docker inspect --format='{{.LogPath}}' mycontainer

上面的命令中,--format参数指定了输出的格式,{{.LogPath}}表示日志路径。

6. 查询容器挂载点

容器的挂载点可以通过docker inspect命令来查询。下面的示例展示了如何查询一个容器的挂载点。

$ docker inspect --format='{{range $m := .Mounts}}{{$m.Source}} -> {{$m.Destination}}{{end}}' mycontainer

上面的命令中,--format参数指定了输出的格式,{{range $m := .Mounts}}表示遍历容器的挂载点,{{$m.Source}}表示源路径,{{$m.Destination}}表示目标路径。

7. 查询容器的元数据

除了上述常用的运行参数外,docker inspect命令还可以查询容器的元数据,如标签、网络信息等。下面的示例展示了如何查询一个容器的元数据。

$ docker inspect --format='{{.Config.Labels}}' mycontainer

上面的命令中,--format参数指定了输出的格式,{{.Config.Labels}}表示容器的标签信息。

总结

本文介绍了如何使用docker inspect命令查询容器的运行参数。通过查询容器的基本信息、端口映射、环境变量、日志路径、挂载点和元数据等信息,我们可以更好地管理和调试Docker容器。