简体   繁体   中英

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. 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. The library 'libhostpolicy.so' required to execute the application was not found in '/app/bin/Debug/net6.0/'. 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.
  • If this should be a framework-dependent app, add the '/app/bin/Debug/net6.0/projectname.runtimeconfig.json' file and specify the appropriate framework.

and face issue when I run a project with docker on Visual Studio 2022.

当我在 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

For Blazor Web Assembly we need to add "nginx.conf" in Project root folder

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

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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