【问题标题】:Get the value of port from docker ps command从 docker ps 命令获取端口的值
【发布时间】:2020-05-20 07:39:30
【问题描述】:

在运行 docker ps 命令时,我得到所有正在运行的进程。我已将 MongoDB 实例部署到 docker 容器上。在给出docker ps | grep mongo 时,它会显示所有正在运行的 mongodb 实例。请参考图片以更好地理解

现在我必须显示端口详细信息,它有点模棱两可,最终结果应该是2040。 虽然我想出了一些确实可以提供正确输出的方法,但我希望有一种更短更有效的方法来获取端口详细信息。

这就是我目前获得 o/p 的方式

docker ps | grep mongo | awk '{print $10}' | awk -F ":" '{print $2}'| cut -d '-' -f 1

【问题讨论】:

  • 你试过docker port mongo 27017/tcp吗?这是你要找的吗?
  • 如果您查看图像 - 我希望返回值 2040
  • 输出 2040:docker port mongo 27017/tcp | awk '{split($1,a,":"); print a[2]}'

标签: linux docker unix ps


【解决方案1】:

这样做,

docker ps|grep mongo|awk '{print $1}'|xargs docker inspect  --format="{{json .NetworkSettings.Ports}}"

【讨论】:

  • 它给出了 {"27017/tcp":[{"HostIp":"0.0.0.0","HostPort":"2040"}]} 它太复杂了。我正在使用 linux awk cmd 获得所需的输出。希望有一个更简单的方法,但这看起来太复杂了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-10
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多