项目迁移dotnet8,Docker容器报502问题解决

发布时间 2023-12-20 10:45:03作者: 咸鱼Y

项目从dotnet6升级至dotnet8,本地运行正常,发布镜像至docker后容器运行正常,但请求改服务时响应502。

问题原因:项目内没有指定监听的端口,默认为80端口,但dotnet8 app的服务默认端口修改为了8080

解决方法:

1、在项目内增加指定服务监听的端口

builder.WebHost.ConfigureKestrel(serverOptions =>
{
serverOptions.Listen(IPAddress.Any, 指定端口, lo => lo.Protocols = HttpProtocols.Http1AndHttp2); 

});

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