docker部署启动访问不了aspnet应用

bustersword 2020-08-19 01:26:37
 public class Program
{
public static void Main(string[] args)
{
try
{
//貌似解决中文乱码的
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

var builder = new ServiceHostBuilder();

var host = builder.RegisterServices((container) =>
{

}).UseWeb()
.Build();

host.Run();



}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

}

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}


我把原先的启动的代码放在UseWeb里了,部署到docker访问不了,但是本地直接启动是可以访问的。

docker run --name netcore-web -d -p 8999:80 core-web 启动

 public static IServiceHostBuilder UseWeb(this IServiceHostBuilder serviceHostBuilder)
{
var executeAss = Assembly.GetCallingAssembly();
var path = Path.GetDirectoryName(Assembly.GetCallingAssembly().Location);
var viewDll = Path.Combine(path, executeAss.GetName().Name + ".Views.dll");

Assembly viewAsm = null;

if (File.Exists(viewDll))
{
viewAsm = Assembly.LoadFrom(viewDll);

}

serviceHostBuilder.AddHostService((IHostBuilder hostBuilder) =>
{
hostBuilder.ConfigureWebHostDefaults(webHostBuilder =>
{

webHostBuilder
.ConfigureServices(services =>
{
services.AddControllersWithViews();
var mvcBuilder = services.AddMvc();
if (viewAsm != null)
{
mvcBuilder.AddApplicationPart(viewAsm);
}
mvcBuilder.AddApplicationPart(executeAss);

})
.Configure((context, app) =>
{
if (context.HostingEnvironment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
});

});

});



return serviceHostBuilder;
}

...全文
7502 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21424291 2020-09-09
  • 打赏
  • 举报
回复
docker logs --since 30m 容器ID
一叶知秋~ 2020-08-24
  • 打赏
  • 举报
回复
你是不是连接不了数据库,先看你安装的容器是否启动,你也可以调试一下你的容器,看是在那一步不行了

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧