如何自动停止docker容器?

如何自动停止docker容器?,docker,nginx,dockerfile,Docker,Nginx,Dockerfile,我试图在1小时后自动停止docker容器。我的意思是,如果没有进程进行,或者容器闲置1小时,那么停止该容器。这可以在Dockfile中以编程方式完成吗?任何想法都会有帮助 提前感谢。Dockerfile支持的最适合您的问题的解决方案是指令性的,例如HEALTHCHECK[OPTIONS]CMD命令。您可以在此处指定间隔(例如1小时)和超时 --interval=DURATION (default: 30s) --timeout=DURATION (default: 30s) --start-pe

我试图在1小时后自动停止docker容器。我的意思是,如果没有进程进行,或者容器闲置1小时,那么停止该容器。这可以在Dockfile中以编程方式完成吗?任何想法都会有帮助


提前感谢。

Dockerfile支持的最适合您的问题的解决方案是指令性的,例如
HEALTHCHECK[OPTIONS]CMD命令
。您可以在此处指定间隔(例如1小时)和超时

--interval=DURATION (default: 30s)
--timeout=DURATION (default: 30s)
--start-period=DURATION (default: 0s)
--retries=N (default: 3)

除此之外,您必须每1小时创建一次由
cronjob
触发的
自定义shell脚本。在这个脚本中,您将停止前台进程,从而使正在运行的容器弯腰。

据我所知,这样的场景不是docker工作流的一部分

只要容器的主进程处于活动状态,容器就处于活动状态。当该项目(PID:1)退出(出错或成功)时,容器也会停止


因此,我看到的唯一方法是要么在程序(容器中的主进程)中构建此逻辑,要么将程序包装在shell脚本中,根据某些规则(如在一定时间内没有日志项)终止进程。

类似于此的内容>实际上,我使用NGINX作为反向代理。条件是,如果在过去1小时内没有传入http请求,那么我需要停止该容器。您可以通过解析nginx的访问日志来完成。每个请求都有时间戳(或日期和时间),您可以轻松地将其删除。谢谢。有任何参考文档或链接吗?请查看本教程,我建议编写简单的python脚本,从access.log中提取日期/时间戳,并将其与或结合使用。这将是我的策略。@JDGuide听起来像是你做了侧车部署-非常聪明!