优雅地停止azure容器实例

优雅地停止azure容器实例,azure,docker,.net-core,Azure,Docker,.net Core,我有一个.net core 5.0应用程序包装在docker映像中,当我停止容器时,我可以在docker Desktop下以Linux容器模式将映像作为容器运行 应用程序能够捕捉以下事件,这是我想要的 System.Runtime.Loader.AssemblyLoadContext.Default.Unloading += ctx => { Console.WriteLine("Unloading"); }; AppDomain.CurrentDomain.P

我有一个.net core 5.0应用程序包装在docker映像中,当我停止容器时,我可以在docker Desktop下以Linux容器模式将映像作为容器运行 应用程序能够捕捉以下事件,这是我想要的

System.Runtime.Loader.AssemblyLoadContext.Default.Unloading += ctx =>
{
   Console.WriteLine("Unloading");
};

AppDomain.CurrentDomain.ProcessExit += (s, e) =>
{
   Console.WriteLine("Exitting");
};
但是,一旦我将docker映像推送到azure注册表并作为azure容器实例启动,就不会通过portal.azure中的按钮停止或重新启动这些事件。 azure云shell命令也存在同样的问题

az container restart --name gracefullApp --resource-group gracefullAppGroup
az container stop --name gracefullApp --resource-group gracefullAppGroup
你知道如何才能做到这一点吗

dockerfile由VS2019生成

FROM mcr.microsoft.com/dotnet/runtime:5.0-buster-slim AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
WORKDIR /src
COPY ["gracefullApp/gracefullApp.csproj", "gracefullApp/"]
RUN dotnet restore "gracefullApp/gracefullApp.csproj"
COPY . .
WORKDIR "/src/gracefullApp"
RUN dotnet build "gracefullApp.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "gracefullApp.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "gracefullApp.dll"]