我试图在Azure Kubernetes服务中运行我的网站,并且需要使用docker构建映像,但是当我试图从资产文件夹中获取gltf模型时,没有发现404,字体和图像都很好。这与Docker不使用模型文件构建有关,因为当在本地构建映像并运行码头映像时,仍然找不到模型404,但是通过Rider运行它就很好了。Docker是否会自动忽略这些文件,是否应该沿着路径将gltf文件存储在蔚蓝存储资源管理器中?还是我漏掉了什么?这是我的Dockerfile:
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
# Install Node.js
RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \
&& apt-get install -y \
nodejs \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY ["TheResistanceOnline.Web/TheResistanceOnline.Web.csproj", "TheResistanceOnline.Web/"]
RUN dotnet restore "TheResistanceOnline.Web/TheResistanceOnline.Web.csproj"
COPY . .
WORKDIR "/src/TheResistanceOnline.Web"
RUN dotnet build "TheResistanceOnline.Web.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "TheResistanceOnline.Web.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "TheResistanceOnline.Web.dll"]例如,在运行docker映像时:找不到错误404的图像
这是从骑士跑出来的时候
当我运行ng构建时,dist文件夹将包含模型文件,因此它必须与Docker?dist文件夹图像有关。
发布于 2022-07-17 10:01:12
很抱歉,这不是docker的问题,而是在我的Program.cs文件中提供静态文件的问题--如果其他人遇到这个问题,需要帮助的话,解决方案:
builder.Services.Configure<StaticFileOptions>(options =>
{
options.ContentTypeProvider = new FileExtensionContentTypeProvider
{
Mappings =
{
[".gltf"] = "model/gltf+json",
[".glb"] = "model/gltf-binary",
[".bin"] = "application/octet-stream"
}
};
});https://stackoverflow.com/questions/73001332
复制相似问题