ASP.NET Core Web App appsettings.json值替换为Docker容器中的随机字符串

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

我有一个ASP.NET Core Web应用程序,该应用程序具有一些存储在appsettings.json中的值,这些值可通过IConfiguration服务进行访问。当应用程序发布并托管在Windows计算机上的IIS中时,此方法工作正常。但是,在Linux docker容器中运行时,appsettings中的值将替换为随机字符串,例如7d5136967af41。appsettings文件设置为始终复制到输出目录

<ItemGroup>
<Content Update="appsettings.json">
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>

我不确定此问题来自何处,所以我也将添加docker文件

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["ProjectName/ProjectName.csproj", "ProjectName/"]
RUN dotnet restore "ProjectName/ProjectName.csproj"
COPY . .
WORKDIR "/src/ProjectName"
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 .
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "ProjectName.dll"]

运行docker build -t imagename -f ProjectName/Dockerfile .时没有错误,并且Docker容器日志中没有错误

如果需要其他文件,请告诉我,我也将添加它们,非常感谢您的帮助

谢谢

c# asp.net-mvc docker asp.net-core appsettings
1个回答
0
投票

对于也遇到此问题的任何人,似乎都使用“主机名”的设置来解决,将名称更改为其他名称对我来说解决了这个问题

希望这会有所帮助

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