当前位置: 首页 > 知识库问答 >
问题:

即使没有容器映射到K8 pod端口,连接到该端口是否会成功?

沈翰
2023-03-14

如果我有一个Kubernetes吊舱暴露端口8000,吊舱内运行的图像没有以任何方式配置为连接到吊舱的端口8000,那么连接到吊舱的端口8000是否仍然成功?我正在尝试调试一个场景,其中Prometheus(一个度量收集工具)可以在端口8000上与我的K8s pod通信,但没有从容器接收任何度量(可能是因为容器没有映射到pod的端口8000)。

谢谢

共有1个答案

东门越
2023-03-14

从Dockerfile创建图像时,请使用EXPOSE命令公开容器端口(此处有说明)。从那里,发送到该主机端口的任何传入消息都将被转发到容器中。

 类似资料:
  • 我有一个swarm集群,我在其中创建了一个全局服务,在集群中的所有docker主机上运行。 目标是让此服务的每个容器实例连接到侦听docker主机上的端口。 有关详细信息,我将遵循此Docker守护进程指标指南,以在所有主机上公开新的docker指标API,然后将该主机端口代理到覆盖网络中,以便Prometheus可以从所有群主机中抓取指标。 我已经阅读了多个docker github问题#839

  • 问题内容: 我已经安装了MySQL,甚至以用户身份登录那里。 但是当我尝试这样连接时: 都不行。不确定两者是否都应该工作,但其中至少有一个应该:) 如何确定端口确实是3306?有Linux命令可以以某种方式查看它吗?另外,是否有更正确的方法通过网址进行尝试? 问题答案: 要在端口上找到侦听器,请执行以下操作: 如果mysql确实在该端口上侦听,您应该看到一条类似于以下内容的行。 端口3306是My

  • 我正在尝试将PGAdmin连接到docker容器,并发现这篇文章(https://stackoverflow.com/a/57729412/11923025)对此非常有用。但我试过使用5432以外的端口进行测试,但没有任何运气。 例如,我尝试在我的docker-compose文件中使用5434,并尝试在pgadmin中使用该端口,但得到以下错误(这是使用docker inspect找到的IP地址)

  • 问题内容: 我不确定在这里是否误解了一些东西,但是似乎只能通过从映像创建新容器来设置端口映射。是否可以将端口映射分配给现有Docker容器? 问题答案: 您可以通过直接在以下位置编辑文件 来更改端口映射 您可以通过命令确定[hash_of_the_container] ,“ Id”字段的值为哈希。 因此,您无需使用这种方法来创建图像。您也可以在此处更改重新启动标志。 PS:您可以访问 https:

  • 从我的应用程序中,我需要配置多个需要连接到单个服务器的客户端连接。为此,我使用Application Context BeanFactory创建了可变数量的bean,具体取决于我配置了多少客户端。这是2个客户端的代码: 这是我的工厂方法: 当我运行程序时,两个客户端都连接到我的服务器。然而,一旦服务器将其第一个有效负载发送到每个客户端,我就会得到以下异常(每个客户端一个): 这个想法是数据将被读取