1개 답변
- 최신
- 최다 투표
- 가장 많은 댓글
0
【以下的回答经过翻译处理】 您可以重新启动组件并使其重新启动容器。实质上,当停止时,Greengrass会向运行在生命周期“运行”部分中的进程发送SIGTERM。在这种情况下,“docker run”命令会接收到该信号。如果容器可以处理信号并优雅地退出,则可以使用此方法。此处提供了有关过程的更多详细信息。
如果容器无法处理SIGTERM,则另一种管理方式是使用配方文件中的“启动”和“关闭”生命周期。在这种情况下,您可以将“docker run”更改为命名容器并在分离(后台)模式下运行。然后,当Greengrass停止组件时,“Shutdown”生命周期将具有“docker stop my_container_name”,这将完成关闭。
无论使用哪种方法,都可以确保只有一个容器实例在运行。请注意,可能会出现一些边缘情况,因此根据情况,您可能希望向配方文件添加附加逻辑来检查错误进程或运行中的容器,就像您如果直接在Shell脚本中执行此操作一样。
希望这有所帮助!
관련 콘텐츠
- AWS 공식업데이트됨 일 년 전