我正在使用Docker在容器中运行java REST服务。如果我在容器之外,那么我可能会使用进程管理器/监督器来确保java服务在遇到奇怪的一次性错误时重新启动。我看到一些关于在容器中使用supervisord的帖子,但似乎它们主要关注于运行多个服务,而不仅仅是保持一个服务。
管理在容器中运行的服务的常用方法是什么?我是否应该在容器本身上使用一些内置的Docker内容,而不是尝试包含一个进程管理器?
发布于 2021-01-05 06:10:36
您不应该在Docker容器中为单服务容器使用进程管理程序。使用进程监控器可以有效地隐藏服务的健康状况,使发现问题变得更加困难。
如果服务失败,您应该依靠您的容器编排层(可能是Docker本身,或者更高级别的工具,如Docker Swarm或Kubernetes)来重新启动容器。
对于Docker (或Docker Swarm),这意味着在容器上设置重启策略。
https://stackoverflow.com/questions/65570489
复制相似问题