具有本机依赖关系的 Blazor .NET 6 无法构建为 Docker 映像
Posted
技术标签:
【中文标题】具有本机依赖关系的 Blazor .NET 6 无法构建为 Docker 映像【英文标题】:Blazor .NET 6 with Native Dependency cannot build as a Docker image 【发布时间】:2021-11-25 07:12:57 【问题描述】:我想向我的 Docker 托管的 Blazor Web Assembly 应用程序添加本机依赖项,但无法构建 Docker 映像,即使应用程序在 Docker 之外构建和运行得非常好。
以下是复制问题的步骤。
在 Visual Studio 2022 中创建一个默认的 .NET 6 Blazor Web Assembly 应用程序
为项目添加 Docker 支持
通过将以下行添加到
在 Dockerfile 中添加一行以安装 WASM 工具 - 运行 dotnet 工作负载安装 wasm-tools
尝试构建 Docker 镜像 - '错误:命令“emcc --version”以代码 1 退出。'
没有提供其他错误详细信息。
【问题讨论】:
【参考方案1】:用于编译的Emscripten需要在SDK镜像中没有安装的python。
您可以通过添加该行在构建映像中自己安装它
RUN apt-get update && apt-get install -y python3
在您的 Dockerfile 中,在您进行 dotnet 构建或发布之前的某个位置。
【讨论】:
太棒了。这解决了问题。谢谢! @mikejos 太好了!如果您能接受答案,那就太好了,这样有相同问题的其他用户可以看到答案有效。以上是关于具有本机依赖关系的 Blazor .NET 6 无法构建为 Docker 映像的主要内容,如果未能解决你的问题,请参考以下文章
为啥无状态 bean 被视为伪作用域并且不能具有循环依赖关系?
我的 ASP.NET Core MVVM Blazor 应用程序的依赖注入无法正常工作