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

打印 上一主题 下一主题

主题 530|帖子 530|积分 1590

目次
通过原生Linux命令过滤找到IP
通过jq工具找到IP
使用docker -f 的过滤(模板)
查找端口映射信息

查看容器内部细节
  1. docker inspect 容器ID或容器名
复制代码
通过原生Linux命令过滤找到IP



通过jq工具找到IP



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

  1. docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' influxdb
复制代码


  • 使用了 docker inspect 的 Go 模板功能,通过 range 关键字遍历所有的网络设置 。 会遍历所有网络并输出每个网络中的 IP 地址。假如你的容器连接到多个网络,这个命令会输出所有网络的 IP 地址。
查找端口映射信息

  1. docker inspect influxdb | jq '.[0].NetworkSettings.Ports'
  2. #输出 JSON 格式的端口映射详情,包含每个端口的所有映射信息。
  3. docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}}{{$p}} -> {{(index $conf 0).HostPort}}{{end}}' influxdb
  4. 简洁的输出
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表