在Docker容器中运行ASP.NET Core Web应用程序时,如果无法接收请求,可能是因为容器内的应用程序监听的端口与容器外的端口不匹配。以下是一个解决方法的示例:
EXPOSE 80
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
// 省略其他配置代码
services.AddControllers();
services.AddRazorPages();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 省略其他配置代码
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapRazorPages();
});
}
}
docker run -d -p 8080:80
这样,应用程序就应该能够在Docker容器中正确接收请求了。