Ser*_*pov 6 amazon-ecs asp.net-core-webapi aws-fargate asp.net-core-7.0
这是我尝试在 Amazon ECS 容器(AWS Fargate 服务)中运行 ASP.NET Core 7.0 运行时映像后收到的结果。
我的项目位于 ASP.NET Core 7.0 Web API 上。
这是一个基于 Jenkins 构建并发送到 Amazon ECS 的镜像 docker 文件
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["src/MetaGame/MyMetaGame.API/MyMetaGame.API.csproj", "src/MetaGame/MyMetaGame.API/"]
RUN dotnet restore "src/MetaGame/MyMetaGame.API/MyMetaGame.API.csproj"
COPY . .
WORKDIR "/src/src/MetaGame/MyMetaGame.API"
RUN dotnet build "MyMetaGame.API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "MyMetaGame.API.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyMetaGame.API.dll"]
Run Code Online (Sandbox Code Playgroud)
经过一番谷歌搜索后,我发现决定通过环境参数增加 GC 堆限制。我把它设置为512Mb
DOTNET_GCHeapHardLimit=20000000
Run Code Online (Sandbox Code Playgroud)
但这并没有解决我的问题。不知道有什么问题这是csproj文件的配置
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["src/MetaGame/MyMetaGame.API/MyMetaGame.API.csproj", "src/MetaGame/MyMetaGame.API/"]
RUN dotnet restore "src/MetaGame/MyMetaGame.API/MyMetaGame.API.csproj"
COPY . .
WORKDIR "/src/src/MetaGame/MyMetaGame.API"
RUN dotnet build "MyMetaGame.API.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "MyMetaGame.API.csproj" -c Release -o /app/publish /p:UseAppHost=false
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyMetaGame.API.dll"]
Run Code Online (Sandbox Code Playgroud)
因此,通过添加来解决问题
ENV COMPlus_EnableDiagnostics=0
Run Code Online (Sandbox Code Playgroud)
在 Dockerfile 的最后阶段。所以,它应该看起来像
FROM base AS final
ENV COMPlus_EnableDiagnostics=0
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MyMetaGame.API.dll"]
Run Code Online (Sandbox Code Playgroud)
在这里找到了解决方案
| 归档时间: |
|
| 查看次数: |
3482 次 |
| 最近记录: |