目录
通过原生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
简洁的输出