我有一个用 .Net Core 写的控制台应用程序。我将在 Docker 容器中运行此应用程序。我想要优雅地停止这个进程,而不是让它在做某事的过程中被强行终止。是否可以在控制台应用程序内部监听到从 docker 发出的停止信号?在容器出现之前,我只需使控制台应用程序监听控制台窗口中键入的内容即可。如果有一种方法可以让 Docker 通过标准输入发送消息,我可以使用它,但是我还不了解 Docker 的全部功能。
public void Configure(IApplicationBuilder app
, IHostingEnvironment env
, IApplicationLifetime applicationLifetime)
{
applicationLifetime.ApplicationStarted.Register(ApplicationStarted);
applicationLifetime.ApplicationStopping.Register(ApplicationStopping);
applicationLifetime.ApplicationStopped.Register(ApplicationStopped);
}
使用docker exec命令,您可以向运行中的Docker容器中的进程传递命令。