【问题标题】:Is it possible to list which ports in a Podman pod is bound to which container?是否可以列出 Podman pod 中的哪些端口绑定到哪个容器?
【发布时间】:2021-11-01 05:38:46
【问题描述】:

我正在创建一个 podman pod,如下所示:

podman pod create --name MyAwesomePod --publish=80:8080

它有效地将我的 pod “内部”的端口 80 绑定到 podman 主机的端口 8080。

然后我使用类似的方法将容器添加到 pod 中

podman run --pod MyAwesomePod --name web myWebServerImage
podman run --pod MyAwesomePod --name db mySqlServer

然后我可以按预期访问在端口 80 上运行 Web 服务器的容器(使用 localhost:8080)。但是,我不知道是否有办法显示路由将转到此特定容器。运行 podman ps 给了我一个我正在运行的容器的列表,并且 PORT 列列出了两者上的 0.0.0.0:8080->80/tcp,这当然不可能是真的。

这是 Podman 的缺陷还是我误解了 Pod 的工作方式?

我正在运行无根 Podman 3.2.0。

【问题讨论】:

    标签: podman


    【解决方案1】:

    一个 pod 中的容器共享相同的网络命名空间:

    https://podman.io/getting-started/network#podman-pods

    您可以在主机上执行netstat -ntlp,但这仅指向conmon 进程,我不知道如何从那里跟踪最终进程:

    [centos@... ~]$ sudo netstat -ntlp | grep 443
    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      20623/conmon
    [centos@... ~]$ ps 20623
      PID TTY      STAT   TIME COMMAND
    20623 ?        Ssl    0:00 /usr/bin/conmon --api-version 1 -s -c 8084f02f601782166aa3345517235cab499680c54276cbd032530ecdaa998469 -u 8084f02f601782166aa3345517235cab499680c54276cbd032530ecdaa998469 -r /usr/bin/runc -b /var/lib/containers/
    

    无论如何,我在这里的 Podman 有点老:

    [centos@2dprot-webserver ~]$ rpm -q podman
    podman-1.6.4-29.el7_9.x86_64
    

    【讨论】:

    • 好吧,它并没有真正评估是否可以列出从主机到特定 pod 在该端口上响应的路由的问题。
    • 对不起,我认为这是关于容器的:“一种显示路由将转到这个特定容器的方法”,为此我认为给定“一个 pod 中的容器共享相同的网络命名空间”, podman port --all 正确显示给定端口“附加”到您的两个容器 - 因为它们共享相同的网络命名空间。无论如何,如果我只是错过了您的观点,请忽略我。祝你好运!
    • 不用担心。命名真的很混乱。容器、豆荚、图像等等。我的问题是,是否有可能查看 pod 中的哪些容器响应主机上的哪些端口。我知道它们共享相同的网络命名空间,但 Podman 肯定必须以某种方式知道将其主机端口 8080 重定向到运行 Web 服务器的容器上的端口 80,而不是将其发送到运行数据库服务器的容器。我的问题可能有点含糊。
    • 仅供参考 8080 到 80 重定向由 CNI 插件“portmap”完成,但不知道如何使用此信息来解决您的查询。我在 Podman 官方邮件列表中提问的经验非常丰富 - 请参阅 podman.io/community/#mailing-list
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    相关资源
    最近更新 更多