项目迁移dotnet8,Docker容器报502问题解决
项目从dotnet6升级至dotnet8,本地运行正常,发布镜像至docker后容器运行正常,但请求改服务时响应502。
问题原因:项目内没有指定监听的端口,默认为80端口,但dotnet8 app的服务默认端口修改为了8080
解决方法:
1、在项目内增加指定服务监听的端口
builder.WebHost.ConfigureKestrel(serverOptions =>
{
serverOptions.Listen(IPAddress.Any, 指定端口, lo => lo.Protocols = HttpProtocols.Http1AndHttp2);
});
或者在appsettings.json配置
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel/endpoints?view=aspnetcore-8.0#specify-ports-only
2、修改docker 启动时的映射端口为8080
参考链接:https://andrewlock.net/exploring-the-dotnet-8-preview-updates-to-docker-images-in-dotnet-8/#asp-net-core-apps-now-use-port-8080-by-default
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!