首页 > 解决方案 > 为什么Docker在没有抛出错误的情况下会重新启动以及如何防止它?

问题描述

Docker什么时候将内部服务标记为失败而不退出非零代码,并且无论如何配置它不要这样做?

我有一个在 docker 内部运行的进程,这是一个基于 python 的服务器,处理一些繁重的任务。我发现如果我同时向它发送多个请求,虽然内存还不错,但 Docker 会有点认为内部进程以某种方式失败(或者我不知道)——然后它重新启动服务/容器。我猜这是因为内部进程有点卡住/没有响应,因此它被标记为“失败”——我在 docker 之外运行了这个服务器并且没有发生错误。

此外,如果我使用 docker stack 部署多个副本,似乎当其中一个副本重新启动时,对服务的所有请求都将被阻塞,直到该副本恢复 - 这是真的吗?有没有办法防止这种情况发生?

这真的很烦人,因为服务器的初始化步骤需要相当长的时间......

标签: docker

解决方案


推荐阅读