You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CLI将Docker Compose部署至Azure后访问代理页面超时

排查Azure上Docker Compose部署后代理页面超时问题

我之前也碰到过类似的情况,给你梳理几个排查方向,一步步来定位问题:

1. 先确认Azure的端口与网络权限是否开放

  • 首先检查你部署的容器服务在Azure上的公网访问端口是否正确配置。你的本地Compose把8000、8001映射到容器8080,要确认Azure这边是否同步暴露了这些端口,并且允许外部访问。
  • 去Azure门户或者用CLI查看对应的**网络安全组(NSG)**入站规则,确保有允许TCP流量访问8000、8001端口的规则——很多时候超时就是因为NSG默认挡住了外部流量。

2. 检查容器本身的运行状态

  • 用Azure CLI命令查看容器是否正常启动:
    # 如果是Azure Container Instances(ACI)
    az container list --output table
    # 如果是Azure Container Apps
    az containerapp list --output table
    
    看看ProvisioningState是不是Succeeded,容器有没有频繁重启的情况。
  • 拉取容器日志,确认应用本身有没有启动成功:
    az container logs --name app
    az container logs --name app2
    
    重点看有没有Tomcat启动成功的日志(比如Server startup in X ms),如果应用本身没起来,那外部访问肯定会超时。

3. 验证Azure代理/入口的配置与可用性

  • 如果你用的是Azure Container Apps,要确认是否开启了Ingress,并且设置了允许外部访问。默认情况下Container Apps的服务是内网的,必须显式配置Ingress才能通过公网访问。
  • 检查Azure提供的代理访问URL是否正确,有没有拼写错误。另外,Azure的资源有时候需要几分钟才能完全初始化,刚部署完别急着访问,等个2-3分钟再试试。

4. 测试本地与Azure的连通性

  • 用curl或者telnet直接测试Azure的公网IP和端口,比如:
    curl http://<你的Azure公网IP>:8000
    
    如果是连接超时,大概率是网络层面的问题(比如NSG、防火墙);如果是连接被拒绝,那可能是容器没启动或者端口没正确暴露。
  • 如果你在企业内网环境,还要确认公司的防火墙或者代理有没有阻止到Azure这些端口的出站流量。

额外的小提示

你的Docker Compose里同时写了image和build字段,部署到Azure的时候要注意:要么先把镜像推送到Azure Container Registry(ACR),然后在Compose里引用ACR的镜像地址;要么确保Azure部署环境能访问到你指定的image仓库(比如Docker Hub),否则可能会出现镜像拉取失败导致容器启动不了的情况。

内容的提问来源于stack exchange,提问作者tryingHard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:23:03