容器应用中的目标端口设置不正确将阻止传入的请求流到容器侦听流量所用的正确端口。 此端口不匹配会阻止容器应用将外部流量路由到容器内的正确应用程序。 此类配置错误可能会导致应用停机或服务请求延迟,从而降低服务可用性。 此外,如果应用缩放和目标端口配置不当,则新实例可能无法正常运行,这可能会对整体性能和可伸缩性产生负面影响。
原因
端口未在 dockerfile 或应用配置中公开:当容器配置与应用程序侦听的端口不匹配时,会出现此错误。 例如:
如果容器配置未使用
EXPOSE指令公开所需的端口。应用内的容器化应用未配置为侦听容器应用预期的路由或网络端口。
则端口不匹配。 例如,容器可能配置为侦听端口
8080,但容器应用预期它在端口80上。
多个容器和服务端口冲突:如果有多个容器在同一应用中运行,则尝试使用同一端口的不同服务之间可能存在冲突。 确保每个服务侦听唯一端口或路由配置正确至关重要。
诊断
容器应用提供智能和交互式诊断体验,可帮助你对应用进行故障排除,无需配置。 使用以下步骤访问容器应用诊断。
在 Azure 门户中转到你的容器应用。
在边栏菜单中选择“ 诊断”并解决问题 。
在故障排除类别下,选择“可用性和性能”类别磁贴。
选择 入口端口设置检查 以诊断并排查问题。
从下拉列表中选择容器应用的所需修订版。 默认情况下,将填充最新的修订版。
此报告提供有关问题、可能的原因和建议解决方法的详细信息。
仅当容器应用尝试启动或缩放时,才会引发这些错误。 如果该工具在给定时间段内找不到任何问题,请尝试在知道容器应用应启动或缩放期间运行检测器。 如果应用未收到任何流量,请尝试浏览问题或触发该问题。