如何从 inspect 中获取 PublishedPort

62次阅读
没有评论

问题描述

想要从 Docker 服务的 inspect 数据中获取 PublishedPort 值,但他在尝试中遇到了困难。他提供了相关的数据,并希望能够正确地提取出 PublishedPort 值。

解决方案

在 Docker 服务的 inspect 数据中获取 PublishedPort 值需要正确的使用 docker service inspect 命令,并从输出的 JSON 数据中提取所需的信息。下面将介绍如何从给定的 inspect 数据中获取 PublishedPort 值。

步骤

请根据以下步骤执行,以获取 Docker 服务的 PublishedPort 值:

  1. 打开终端或命令提示符,进入适当的目录。
  2. 使用以下命令来获取 Docker 服务的 inspect 数据。将 My_app 替换为你实际的服务名称。
    sh
    docker service inspect My_app
  3. 在输出的 JSON 数据中,定位到 Endpoint 部分。这是关于服务端口的信息。
  4. Endpoint 部分中,找到 Ports 字段,它是一个包含端口信息的数组。选择第一个元素,因为你的目标是获取第一个端口的 PublishedPort 值。
  5. 提取 PublishedPort 值,这就是你要找的服务端口对外暴露的端口号。

以下是示例的命令行操作和示意图:

# 获取 Docker 服务的 inspect 数据
docker service inspect My_app

在输出的 JSON 数据中,定位到 Endpoint 部分和 Ports 字段,提取第一个端口的 PublishedPort 值。示意图如下:

"Endpoint": {
    "Ports": [
        {
            "PublishedPort": 30001,
            "TargetPort": 80,
            "Protocol": "tcp",
            "PublishMode": "ingress"
        }
    ],
    // 其他信息...
}

在这个示例中,PublishedPort 的值为 30001

请注意,输出的 JSON 数据可能会根据实际情况有所不同,但你需要定位到包含端口信息的部分,并提取所需的值。

引用注意事项

请注意以下操作可能的版本差异及风险,确保备份数据后再进行操作。

结论

通过正确使用 docker service inspect 命令,并从输出的 JSON 数据中提取 PublishedPort 值,你可以成功获取 Docker 服务端口对外暴露的端口号。在执行操作时,务必注意版本差异及数据备份,以防止意外情况的发生。

正文完