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

ASP.NET Core 8容器化后docker-compose up无法访问应用求助

ASP.NET Core 8容器化docker-compose up无法访问问题排查

核心排查点与解决方案

  • 检查端口映射配置
    确认docker-compose.yml中的ports字段正确映射宿主端口和容器端口,ASP.NET Core 8默认在容器内监听8080,标准配置应为:

    ports:
      - "8080:8080"
    

    同时确保宿主端口未被其他进程占用,可通过netstat -ano | findstr :<宿主端口>检查,必要时更换端口。

  • 修正应用监听地址
    若ASP.NET Core应用仅监听localhost,容器外部无法访问。需在Program.cs中显式设置监听地址为0.0.0.0:

    app.Run("http://0.0.0.0:8080");
    

    也可通过docker-compose.yml添加环境变量统一配置:

    environment:
      - ASPNETCORE_URLS=http://0.0.0.0:8080
    
  • 验证容器运行状态
    执行docker ps查看容器的PORTS列,确认显示类似0.0.0.0:8080->8080/tcp的映射规则。再用docker exec <容器ID> netstat -an检查容器内应用是否在0.0.0.0:8080端口上正常监听。

  • 查看容器启动日志
    执行docker-compose logs获取应用启动细节,确认应用无静默错误且正确监听了预期端口。若日志显示应用仅监听localhost,则优先修正监听地址配置。

  • 重置Docker网络
    若上述操作无效,尝试重启Docker服务后重新执行docker-compose up,排除Docker网络驱动异常问题。

内容的提问来源于stack exchange,提问作者Bartosz Kuliński

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 10:41:02