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容器。