docker inspect 如何提取容器的ip和端口 网络信息?

目录

通过原生Linux命令过滤找到IP

通过jq工具找到IP

使用docker -f 的过滤(模板)

查找端口映射信息


查看容器内部细节

docker inspect 容器ID或容器名

通过原生Linux命令过滤找到IP

通过jq工具找到IP

  • jq 是一个轻量级且灵活的命令行工具,用于解析、过滤、修改、和处理 JSON 格式的数据。类似于 sed、awk 或 grep,但专门针对 JSON 数据格式。jq 允许你使用简单的命令从复杂的 JSON 数据结构中提取信息并进行操作。
#安装
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install jq -y
#提取IP
docker inspect influxdb | jq '.[0].NetworkSettings'
#找到IP地址大概位置
docker inspect influxdb | jq -r '.[0].NetworkSettings.Networks.compose_CIG_net.IPAddress'
#提取IP具体地址

使用docker -f 的过滤(模板)

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' influxdb
  • 使用了 docker inspect 的 Go 模板功能,通过 range 关键字遍历所有的网络配置 。 会遍历所有网络并输出每个网络中的 IP 地址。如果你的容器连接到多个网络,这个命令会输出所有网络的 IP 地址。

查找端口映射信息

docker inspect influxdb | jq '.[0].NetworkSettings.Ports'
#输出 JSON 格式的端口映射详情,包含每个端口的所有映射信息。

docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{$p}} -> {{(index $conf 0).HostPort}}{{end}}' influxdb
简洁的输出

上一篇:昇思25天学习打卡营第7天 | 基于MindSpore的GPT2文本摘要


下一篇:用HTML和CSS实现提示工具(tooltip)及HTML元素的定位