简体   繁体   English

在 Docker 上部署 Blazor 客户端(WebAssembly),当时面临问题

[英]Deploy Blazor Client(WebAssembly) on Docker that time facing issue

When I deploy/run the project on Docker that time I am facing an issue.当我在 Docker 上部署/运行项目时,我遇到了一个问题。 Facing issues like,面临诸如,

Cannot use file stream for [/app/bin/Debug/net6.0/projectname.deps.json]: No such file or directory A fatal error was encountered.无法将文件 stream 用于 [/app/bin/Debug/net6.0/projectname.deps.json]:没有此类文件或目录遇到致命错误。 The library 'libhostpolicy.so' required to execute the application was not found in '/app/bin/Debug/net6.0/'.在“/app/bin/Debug/net6.0/”中找不到执行应用程序所需的库“libhostpolicy.so”。 Failed to run as a self-contained app.无法作为独立应用程序运行。

  • The application was run as a self-contained app because '/app/bin/Debug/net6.0/projectname.runtimeconfig.json' was not found.该应用程序作为独立应用程序运行,因为找不到“/app/bin/Debug/net6.0/projectname.runtimeconfig.json”。
  • If this should be a framework-dependent app, add the '/app/bin/Debug/net6.0/projectname.runtimeconfig.json' file and specify the appropriate framework.如果这应该是依赖于框架的应用程序,请添加“/app/bin/Debug/net6.0/projectname.runtimeconfig.json”文件并指定适当的框架。

and face issue when I run a project with docker on Visual Studio 2022.当我在 Visual Studio 2022 上使用 docker 运行项目时遇到问题。

当我在 Visual Studio 2022 上使用 docker 运行项目时遇到问题。

If anyone has an idea about his please share it with me.如果有人对他有任何想法,请与我分享。

Thanks in Advance.提前致谢。

Add Docker File with Nginx Reverse Proxy Server使用 Nginx 反向代理服务器添加 Docker 文件

For Blazor Web Assembly we need to add "nginx.conf" in Project root folder对于 Blazor Web 程序集,我们需要在项目根文件夹中添加“nginx.conf”

events { }
http {
   include mime.types;
   types {
      application/wasm wasm;
   }
   server {
      listen 80;
     # Here, we set the location for Nginx to serve the files looking for index.html
     location / {
        root .;
        try_files $uri $uri/ /index.html =404;
     }
  }
}

Now in Dockerfile mention it like现在在 Dockerfile 中提到它

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["projectpath/projectname.csproj", "projectpath"]
RUN dotnet restore "projectpath/projectname.csproj"
COPY . .
WORKDIR "/projectpath"
RUN dotnet build "projectname.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "projectname.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "projectname.dll"]

FROM nginx:alpine AS final
WORKDIR /usr/share/nginx/html
#Copy from Environment(build/publish)
COPY --from=publish app/publish/wwwroot . 

Now build and run the project in docker.现在在 docker 中构建并运行项目。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM