c# - ASP.NET Core Web App appsettings.json 值被 docker 容器中的随机字符串替换
问题描述
我有一个 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容器日志中也没有错误
如果需要任何其他文件,请告诉我,我也会添加它们,非常感谢任何帮助
谢谢
解决方案
对于也遇到此问题的任何人,似乎使用“主机名”的应用程序设置是问题,将名称更改为其他任何名称都解决了我的问题
希望这可以帮助
推荐阅读
- javascript - 字符串中特殊字符的 JSON.parse 和 JSON.stringify 错误
- protractor - 在量角器的 for 循环内,元素不可点击
- python - 使用 isinstance() 无法检查 python 对象类导入其他模块
- amazon-web-services - 如何获得 SSL 证书
- web - webpack-dev-server 无法获取 /?
- atom-editor - Atom:单击从不同位置打开文件
- html - 具有下载属性的锚标记打开文件而不是下载
- java - HTTP 状态 500 - 实例化 servlet 类登录时出错
- python - 如何更改主管的python路径?
- java - (Java) 显式/以编程方式关闭 JPanel