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
相关产品推荐
相关产品推荐

