我需要找到一种方法来跟踪程序 P 正在运行。我的程序在一个 Ubuntu docker 容器中,它是一个 java 容器。我需要另一个程序来定期告诉我我的程序 P 正在运行。如果它无法向我发送该消息,我将不得不重新启动该程序。有没有办法找出这个?我们担心程序或 docker 容器会停止运行并影响用户体验。
2 回答
DIEA
TA贡献1820条经验 获得超2个赞
不过,这个问题很广泛,需要清楚地回答,我会尝试提供一些解决方案。
首先,如果您的java
进程“失败”,容器将结束它的工作。基于此,您只需执行docker ps
.
如果你想要一些手写的解决方案,你可以在你的应用程序中实现一个健康检查休息端点,并定期点击它以确保应用程序正在运行。
温温酱
TA贡献1752条经验 获得超4个赞
您可以在 docker 容器上设置重启策略,这样如果 java 遇到异常并退出,它将自动尝试重启容器。
在docker run
命令中,只需添加--restart unless-stopped
,这样它就会始终尝试重新启动,除非 docker 本身发送了停止命令。
有关此功能的更多信息,请访问:https : //docs.docker.com/config/containers/start-containers-automatically/#restart-policy-details
添加回答
举报
0/150
提交
取消