在我的应用程序的 docker 上部署后没有可用资源

问题描述 投票:0回答:1

我使用 docker 容器化我的应用程序,部署后遇到缺少资源的问题 - 没有 css 和 js 文件。

enter image description here

docker 撰写文件:

  my-app:
    image: my-app-img
    container_name: my-app
    restart: always
    ports:
      - "80:80"

docker文件

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env
WORKDIR /MyApp

COPY . ./

FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /MyApp
COPY --from=build-env /MyApp/out .
ENTRYPOINT ["dotnet", "MyApp.WebUI.dll']

布局中的链接

    <script src="~/lib/jquery/dist/jquery-3.2.1.slim.min.js"></script>
    <script src="~/lib/popper.min.js"></script>
    <script src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
    <script src="~/lib/jquery/dist/jquery.min.js"></script>
    <script src="~/js/site.js" asp-append-version="true"></script>

在program.cs中我使用

app.UseStaticFiles();

.net docker model-view-controller dockerfile docker-container
1个回答
0
投票

我找到了问题的解决方案

对于前任。

var app = builder.Build();

app.UseStaticFiles();

DbHelpers.CreateDbIfNotExists(app);

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Metrics/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.UseRouting();

app.UseAuthorization();

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

app.Run();

我将 app.UseStaticFiles 移到了 obj 应用程序下,之前它被放置在 app.usehttps / app.UseRouting 之间,导致了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.