如何在docker-compose中通知`restart:on-failure`错误?

我准备了这样的docker-compose.yml

server: build: server restart: on-failure 

而且,我想从容器中的 shell脚本发送错误以重新启动容器。 我怎样才能做到这一点?

容器不是虚拟机,它们是stream程(以一种思维方式)。 因此,一个容器内的OS重启是没有意义的,因此是不可能的。 一个杀死,停止,或重新启动容器,例如

 docker stop CONTAINER docker kill CONTAINER docker restart CONTAINER 

在你的问题的背景下,根据你的容器的具体情况,重启容器可能是最有意义的。

所以我认为你的scheme的最佳解决scheme是在你的容器中安装/var/run/docker.sock并使用Docker API自行重启你的容器。

你可以看到一个库和SDK的列表,可以帮助你在这里 。 请务必在您的容器中安装特定的SDK以便使用它。

希望能帮助到你。